בדף הזה מוסבר איך לקשר את הדרייבר psycopg3 של PostgreSQL למסד נתונים בניב PostgreSQL ב-Spanner. psycopg3 הוא דרייבר Python ל-PostgreSQL.
מוודאים ש-PGAdapter פועל באותו מחשב שבו פועלת האפליקציה שמתחברת באמצעות מנהל ההתקן psycopg3 של PostgreSQL.
export GOOGLE_APPLICATION_CREDENTIALS=/CREDENTIALS_FILE_PATH/credentials.json docker pull gcr.io/cloud-spanner-pg-adapter/pgadapter docker run \ -d -p 5432:5432 \ -v ${GOOGLE_APPLICATION_CREDENTIALS}:${GOOGLE_APPLICATION_CREDENTIALS}:ro \ -e GOOGLE_APPLICATION_CREDENTIALS \ gcr.io/cloud-spanner-pg-adapter/pgadapter \ -p PROJECT_NAME -i INSTANCE_NAME \ -xמידע נוסף זמין במאמר בנושא הפעלת PGAdapter.
מתחברים ל-PGAdapter באמצעות TCP.
import psycopg with psycopg.connect("host=APPLICATION_HOST port=PORT dbname=DATABASE_NAME sslmode=disable") as conn: conn.autocommit = True with conn.cursor() as cur: cur.execute("select 'Hello world!' as hello") print("Greeting from Cloud Spanner PostgreSQL:", cur.fetchone()[0])מחליפים את מה שכתוב בשדות הבאים:
- APPLICATION_HOST: שם המארח או כתובת ה-IP של המכונה שבה PGAdapter פועל. אם מריצים באופן מקומי, צריך להשתמש ב-
localhost. - PORT: מספר היציאה שבה PGAdapter פועל. אם PGAdapter פועל ביציאה מותאמת אישית, צריך לשנות את ההגדרה הזו במחרוזת החיבור. אחרת, משתמשים ביציאה שמוגדרת כברירת מחדל,
5432.
- APPLICATION_HOST: שם המארח או כתובת ה-IP של המכונה שבה PGAdapter פועל. אם מריצים באופן מקומי, צריך להשתמש ב-
Unix domain sockets
בקטע הזה מוסבר איך להשתמש בשקעי דומיין של Unix כדי להתחבר למסד נתונים בניב PostgreSQL. כדי להשיג את זמן האחזור הנמוך ביותר, כדאי להשתמש בשקעי דומיין של Unix.
כדי להשתמש ב-Unix domain sockets, PGAdapter צריך לפעול באותו מארח כמו אפליקציית הלקוח.
מוודאים שמנהל ההתקן של PostgreSQL JDBC נטען.
import psycopg
with psycopg.connect("host=/tmp
port=PORT
dbname=DATABASE_NAME") as conn:
conn.autocommit = True
with conn.cursor() as cur:
cur.execute("select 'Hello world!' as hello")
print("Greetings from Cloud Spanner PostgreSQL:", cur.fetchone()[0])
מחליפים את מה שכתוב בשדות הבאים:
- /tmp: ספריית ברירת המחדל של שקע הדומיין עבור PGAdapter. אפשר לשנות את זה באמצעות ארגומנט שורת הפקודה
-dir. - PORT: מספר היציאה שבה PGAdapter פועל. אם PGAdapter פועל ביציאה מותאמת אישית, צריך לשנות את ההגדרה הזו במחרוזת החיבור. אחרת, משתמשים ביציאה שמוגדרת כברירת מחדל,
5432.
המאמרים הבאים
- PGAdapter
- מידע נוסף על אפשרויות החיבור של דרייבר psycopg3 של PostgreSQL זמין במאמר psycopg3 Connection Options במאגר PGAdapter GitHub.