Cómo conectar pgx a una base de datos de dialecto de PostgreSQL

En esta página, se explica cómo conectar el controlador pgx de PostgreSQL a una base de datos con dialecto de PostgreSQL en Spanner. pgx es un controlador Golang para PostgreSQL.

  1. Asegúrate de que PGAdapter se ejecute en la misma máquina que la aplicación que se conecta con el controlador pgx de PostgreSQL.

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

  2. Especifica localhost y 5432 como el host y el puerto del servidor de base de datos en la cadena de conexión pgx. pgx 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).
    • De forma predeterminada, PGAdapter inhabilita SSL. De forma predeterminada, pgx 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.
    connString := "postgres://uid:pwd@localhost:5432/my-database?sslmode=disable"
    ctx := context.Background()
    conn, err := pgx.Connect(ctx, connString)
    if err != nil {
      return err
    }
    defer conn.Close(ctx)
    
    var greeting string
    err = conn.QueryRow(ctx, "select 'Hello world!' as hello").Scan(&greeting)
    if err != nil {
      return err
    }
    fmt.Printf("Greeting from Cloud Spanner PostgreSQL: %v\n", greeting)
    

¿Qué sigue?