Integra Spanner con GORM (dialecto de PostgreSQL)

GORM es una herramienta de asignación relacional de objetos para el lenguaje de programación Go. Proporciona un framework para asignar un modelo de dominio orientado a objetos a una base de datos relacional.

Puedes integrar las bases de datos de PostgreSQL de Spanner con GORM usando el controlador pgx estándar de PostgreSQL y PGAdapter.

Configura GORM con bases de datos de dialecto PostgreSQL de Spanner

  1. Asegúrate de que PGAdapter se ejecute en la misma máquina que la aplicación que se conecta con GORM con Spanner.

    Para obtener más información, consulta Cómo iniciar PGAdapter.

  2. Agrega una sentencia de importación para el dialecto GORM de PostgreSQL a tu aplicación. Este es el mismo controlador que usarías normalmente con una base de datos de PostgreSQL.

  3. Especifica localhost y 5432 como el host y el puerto del servidor de base de datos en la cadena de conexión de GORM. GORM requiere un nombre de usuario y una contraseña en la cadena de conexión. PGAdapter los ignora.

    • De manera opcional, especifica un número de puerto diferente si PGAdapter está configurado para escuchar en un puerto distinto del puerto predeterminado de PostgreSQL (5432).
    • PGAdapter no es compatible con SSL. De forma predeterminada, GORM primero intenta conectarse con SSL habilitado. Inhabilitar SSL en la solicitud de conexión acelera el proceso de conexión, ya que requiere un recorrido de ida y vuelta menos.
    import (
      "gorm.io/driver/postgres"
      "gorm.io/gorm"
    )
    
    dsn := "host=localhost user=gorm password=gorm dbname=gorm port=5432 sslmode=disable"
    db, err := gorm.Open(postgres.Open(dsn), &gorm.Config{})
    

Consulta la documentación de GORM con PostgreSQL para obtener más opciones de conexión para PostgreSQL.

Usa GORM con bases de datos de dialecto PostgreSQL de Spanner

Para obtener más información sobre las funciones y recomendaciones para usar GORM con Spanner, consulta la documentación de referencia en GitHub.

¿Qué sigue?