Menghubungkan pgx ke database dialek PostgreSQL

Halaman ini menjelaskan cara menghubungkan driver pgx PostgreSQL ke database dialek PostgreSQL di Spanner. pgx adalah driver Golang untuk PostgreSQL.

Pastikan PGAdapter berjalan di mesin yang sama dengan aplikasi yang terhubung menggunakan driver pgx PostgreSQL.

Untuk mengetahui informasi selengkapnya, lihat Mulai PGAdapter.

  • pgx memerlukan nama pengguna dan sandi dalam string koneksi. PGAdapter mengabaikannya.
  • Secara default, PGAdapter menonaktifkan SSL. pgx secara default pertama-tama mencoba terhubung dengan SSL yang diaktifkan. Menonaktifkan SSL dalam permintaan koneksi akan mempercepat proses koneksi, karena hanya memerlukan satu perjalanan pulang pergi.
connString := "postgres://uid:pwd@APPLICATION_HOST:PORT/DATABASE_NAME?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)

Ganti kode berikut:

  • APPLICATION_HOST: nama host atau alamat IP mesin tempat PGAdapter berjalan. Jika menjalankan secara lokal, Anda dapat menggunakan localhost.
  • PORT: nomor port tempat PGAdapter berjalan. Ubah ini di string koneksi jika PGAdapter berjalan di port kustom. Jika tidak, gunakan port default, 5432.

Soket domain Unix

Bagian ini menjelaskan cara menggunakan soket domain Unix untuk menghubungkan driver pgx PostgreSQL ke database dialek PostgreSQL. Gunakan soket domain Unix untuk latensi serendah mungkin.

Untuk menggunakan soket domain Unix, PGAdapter harus berjalan di host yang sama dengan aplikasi klien.

connString := "host=/tmp port=PORT database=DATABASE_NAME"
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)

Ganti kode berikut:

  • /tmp: direktori soket domain default untuk PGAdapter. Setelan ini dapat diubah menggunakan argumen command line -dir.
  • PORT: nomor port tempat PGAdapter berjalan. Ubah ini di string koneksi jika PGAdapter berjalan di port kustom. Jika tidak, gunakan port default, 5432.

Langkah berikutnya