Connecter pgx à une base de données de dialecte PostgreSQL

Cette page explique comment connecter le pilote pgx PostgreSQL à une base de données de dialecte PostgreSQL dans Spanner. pgx est un pilote Golang pour PostgreSQL.

  1. Assurez-vous que PGAdapter s'exécute sur la même machine que l'application qui se connecte à l'aide du pilote pgx PostgreSQL.

    Pour en savoir plus, consultez Démarrer PGAdapter.

  2. Spécifiez localhost et 5432 comme hôte et port du serveur de base de données dans la chaîne de connexion pgx. pgx requiert un nom d'utilisateur et un mot de passe dans la chaîne de connexion. PGAdapter les ignore.

    • Vous pouvez éventuellement spécifier un numéro de port différent si PGAdapter est configuré pour écouter sur un port autre que le port PostgreSQL par défaut (5432).
    • Par défaut, PGAdapter désactive SSL. Par défaut, pgx tente d'abord de se connecter lorsque SSL est activé. La désactivation de SSL dans la requête de connexion accélère le processus de connexion, car elle nécessite un aller-retour de moins.
    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)
    

Étapes suivantes