将 pgx 连接到 PostgreSQL 方言数据库

本页介绍了如何将 PostgreSQL pgx 驱动程序连接到 Spanner 中的 PostgreSQL 方言数据库。pgx 是 PostgreSQL 的 Golang 驱动程序。

  1. 确保 PGAdapter 与使用 PostgreSQL pgx 驱动程序进行连接的应用在同一台机器上运行。

    如需了解详情,请参阅启动 PGAdapter

  2. pgx 连接字符串中,将 localhost5432 指定为数据库服务器主机和端口。pgx 要求在连接字符串中提供用户名和密码。PGAdapter 会忽略这些。

    • 如果 PGAdapter 配置为监听默认 PostgreSQL 端口 (5432) 以外的端口,可以选择指定其他端口号。
    • 默认情况下,PGAdapter 会停用 SSL。默认情况下,pgx 会先尝试启用 SSL 进行连接。在连接请求中停用 SSL 会加快连接过程,因为这样可以减少一次往返。
    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)
    

后续步骤