בדף הזה מוסבר איך לקשר את מנהל ההתקן (driver) של PostgreSQL pgx למסד נתונים של ניב PostgreSQL ב-Spanner. pgx הוא דרייבר Golang ל-PostgreSQL.
מוודאים ש-PGAdapter פועל באותו מחשב שבו פועלת האפליקציה שמתחברת באמצעות מנהל ההתקן pgx של PostgreSQL.
מידע נוסף זמין במאמר בנושא הפעלת PGAdapter.
pgxדורש שם משתמש וסיסמה במחרוזת החיבור. PGAdapter מתעלם מהן.- כברירת מחדל, PGAdapter משבית את ה-SSL.
pgxמנסה להתחבר קודם עם SSL מופעל. השבתת SSL בבקשת החיבור מזרזת את תהליך החיבור, כי היא דורשת סיבוב אחד פחות.
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)
מחליפים את מה שכתוב בשדות הבאים:
- APPLICATION_HOST: שם המארח או כתובת ה-IP של המכונה שבה PGAdapter פועל. אם מריצים באופן מקומי, אפשר להשתמש ב-
localhost. - PORT: מספר היציאה שבה PGAdapter פועל. אם PGAdapter פועל ביציאה מותאמת אישית, צריך לשנות את ההגדרה הזו במחרוזת החיבור. אחרת, משתמשים ביציאה שמוגדרת כברירת מחדל,
5432.
Unix domain sockets
בקטע הזה מוסבר איך להשתמש בשקעי דומיין של Unix כדי לקשר את מנהל ההתקן pgx של PostgreSQL למסד נתונים של ניב PostgreSQL. כדי להשיג את זמן האחזור הנמוך ביותר שאפשר, צריך להשתמש בשקעי דומיין של Unix.
כדי להשתמש ב-Unix domain sockets, PGAdapter צריך לפעול באותו מארח כמו אפליקציית הלקוח.
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)
מחליפים את מה שכתוב בשדות הבאים:
- /tmp: ספריית ברירת המחדל של שקע הדומיין עבור PGAdapter. אפשר לשנות את זה באמצעות ארגומנט שורת הפקודה
-dir. - PORT: מספר היציאה שבה PGAdapter פועל. אם PGAdapter פועל ביציאה מותאמת אישית, צריך לשנות את ההגדרה הזו במחרוזת החיבור. אחרת, משתמשים ביציאה שמוגדרת כברירת מחדל,
5432.
המאמרים הבאים
- PGAdapter
- מידע נוסף על אפשרויות חיבור ל-pgx זמין במאגר PGAdapter ב-GitHub.