Integrar o Spanner ao GORM (dialeto do PostgreSQL)

O GORM é uma ferramenta de mapeamento relacional de objetos para a linguagem de programação Go. Ele fornece uma estrutura para mapear um modelo de domínio orientado a objetos para um banco de dados relacional.

É possível integrar bancos de dados do Spanner PostgreSQL com o GORM usando o driver pgx padrão do PostgreSQL e o PGAdapter.

Configurar o GORM com bancos de dados de dialeto PostgreSQL do Spanner

  1. Verifique se o PGAdapter está em execução na mesma máquina que o aplicativo que está se conectando usando GORM com Spanner.

    Para mais informações, consulte Iniciar o PGAdapter.

  2. Adicione uma instrução de importação para o dialeto GORM do PostgreSQL ao seu aplicativo. Esse é o mesmo driver que você normalmente usa com um banco de dados PostgreSQL.

  3. Especifique localhost e 5432 como o host e a porta do servidor de banco de dados na string de conexão GORM. O GORM exige um nome de usuário e uma senha na string de conexão. O PGAdapter ignora esses valores.

    • Você também pode especificar um número de porta diferente se o PGAdapter estiver configurado para detectar em uma porta diferente da porta padrão do PostgreSQL (5432).
    • O PGAdapter não oferece suporte a SSL. Por padrão, o GORM primeiro tenta se conectar com o SSL ativado. A desativação do SSL na solicitação de conexão acelera o processo de conexão, porque requer uma ida e volta a 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{})
    

Consulte a documentação do GORM com PostgreSQL para conferir mais opções de conexão com o PostgreSQL.

Usar o GORM com bancos de dados de dialeto PostgreSQL do Spanner

Para mais informações sobre os recursos e as recomendações para usar o GORM com o Spanner, consulte a documentação de referência no GitHub.

A seguir