Integra Spanner a GORM (dialecto 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 bases de datos PostgreSQL de Spanner con GORM mediante el controlador pgx estándar de PostgreSQL y PGAdapter.

Configura GORM con bases de datos de dialectos de PostgreSQL de Spanner

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

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

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

  3. Especifica localhost y 5432 como el host y el puerto del servidor de la base de datos en la string 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 que no sea el puerto predeterminado de PostgreSQL (5432).
    • PGAdapter no es compatible con SSL. De forma predeterminada, GORM 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 a fin de obtener más opciones de conexión para PostgreSQL.

Usa GORM con bases de datos de PostgreSQL de Spanner

Si deseas 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?