‫Google Cloud SQL ל-PostgreSQL

Looker תומך בחיבורים ל-Cloud SQL ל-PostgreSQL, שירות מנוהל של מסד נתונים שיעזור לכם להגדיר, לתחזק ולנהל את מסדי הנתונים הרלציוניים של PostgreSQL ב- Google Cloud.

בדף הזה מוסבר איך להתחבר ל-Cloud SQL ל-PostgreSQL מ-Looker.

הצפנת התנועה ברשת

מומלץ להצפין את התנועה ברשת בין אפליקציית Looker למסד הנתונים. כדאי לשקול אחת מהאפשרויות שמתוארות בדף התיעוד הפעלת גישה מאובטחת למסד נתונים.

אם אתם רוצים להשתמש בהצפנת SSL, עיינו במסמכי התיעוד של PostgreSQL.

התחברות באמצעות Application Default Credentials‏ (ADC)

במכונות של Looker (Google Cloud core), אפשר להשתמש בApplication Default Credentials (ADC) כשיטת אימות ל-Google Cloud SQL ל-PostgreSQL. כשמגדירים את ADC ל-Google Cloud SQL ל-PostgreSQL, צריך לבצע את הפעולות הבאות:

התהליך המלא מפורט במאמרי העזרה של Looker (Google Cloud core).

משתמשים ואבטחה

כדי לבצע פעולות במסד הנתונים, ל-Looker צריך להיות חשבון משתמש במסד הנתונים.

אם אתם משתמשים במכונה של Looker (Google Cloud core) ורוצים להשתמש ב-ADC, אתם צריכים להשתמש בשם המשתמש של חשבון השירות המתחזה שהוספתם למסד הנתונים של Cloud SQL. שם המשתמש של חשבון השירות יהיה בפורמט service-<project number>@gcp-sa-looker.iam.gserviceaccount.com. אם שם המשתמש של חשבון השירות מסתיים ב-.gserviceaccount.com, צריך להסיר את החלק .gserviceaccount.com משם המשתמש. אחרי החיתוך, שם המשתמש ייראה כך: service-<project number>@gcp-sa-looker.iam.

כדי להגדיר משתמש במסד הנתונים ש-Looker יוכל להשתמש בו, מבצעים את השלבים הבאים במסד הנתונים:

  1. יוצרים משתמש וסיסמה למסד הנתונים.

    CREATE USER USERNAME WITH ENCRYPTED PASSWORD 'PASSWORD';
    
  2. נותנים הרשאות למשתמש במסד הנתונים כדי ש-Looker יוכל לבצע פעולות במסד הנתונים:

    GRANT CONNECT ON DATABASE DATABASE_NAME to USERNAME;
    \c DATABASE_NAME
    GRANT SELECT ON ALL SEQUENCES IN SCHEMA public TO USERNAME;
    GRANT SELECT ON ALL TABLES IN SCHEMA public TO USERNAME;
    
  3. אם אתם משתמשים בסכימה אחרת, לא public, הריצו את הפקודה הזו כדי לתת ל-Looker הרשאות שימוש:

    GRANT USAGE ON SCHEMA SCHEMA_NAME TO USERNAME;
    
  4. כדי לוודא שגם טבלאות עתידיות שתוסיפו לסכימה הציבורית יהיו זמינות למשתמש Looker, הריצו את הפקודות הבאות:

    ALTER DEFAULT PRIVILEGES IN SCHEMA public GRANT SELECT ON tables TO USERNAME;
    ALTER DEFAULT PRIVILEGES IN SCHEMA public GRANT SELECT ON sequences TO USERNAME;
    

יכול להיות שתצטרכו לשנות את הפקודות הקודמות, בהתאם להגדרות שלכם. אם משתמש או תפקיד אחר יוצרים טבלאות שמשתמש Looker צריך הרשאות עתידיות עבורן, עליכם לציין תפקיד או משתמש יעד כדי להחיל את ההרשאות של משתמש Looker על:

ALTER DEFAULT PRIVILEGES FOR USER ANOTHER_USERNAME IN SCHEMA SCHEMA_NAME GRANT SELECT ON tables TO USERNAME;
ALTER DEFAULT PRIVILEGES FOR ROLE TARGET_ROLE IN SCHEMA SCHEMA_NAME GRANT SELECT ON sequences TO USERNAME;

לדוגמה, אם משתמש web_app יוצר טבלאות ואתם רוצים שמשתמש looker יוכל להשתמש בטבלאות האלה, אתם צריכים להריץ הצהרת GRANT כדי לתת למשתמש looker הרשאות בטבלאות שנוצרו על ידי משתמש web_app. התפקיד או המשתמש המטורגט במקרה הזה הוא המשתמש web_app, כלומר אתם רוצים לשנות את ההרשאות בטבלאות שנוצרו על ידי web_app כדי שלמשתמש looker תהיה הרשאה לקרוא את הטבלאות. לדוגמה:

ALTER DEFAULT PRIVILEGES FOR USER web_app IN SCHEMA public GRANT SELECT ON tables TO looker;

מידע נוסף זמין בקטע ALTER DEFAULT PRIVILEGES באתר של PostgreSQL.

הגדרת סכימה זמנית

יוצרים סכימת בסיס:

CREATE SCHEMA SCHEMA_NAME;

מוסיפים את המשתמש עם הרשאת האדמין לתפקיד המשתמש:

GRANT USERNAME TO ADMIN_USER;

משנים את הבעלות על סכימת הבסיס למשתמש Looker:

ALTER SCHEMA SCHEMA_NAME OWNER TO USERNAME;

הגדרת search_path

לפני שמקשרים את Looker למסד הנתונים, צריך להגדיר search_path מתאים, שבו SQL Runner של Looker יוכל להשתמש כדי לאחזר מטא-נתונים מסוימים ממסד הנתונים:

ALTER USER USERNAME SET search_path TO '$user',SCHEMA_NAME,SCHEMA_NAME_2,SCHEMA_NAME_3
                                                            ^^^^^^^^^^^^^^^^^^
                                                            ^^^^^^^^^^^^^^^^^^
                                             include a comma-separated list of
                                            all schemas that you'll use with Looker

יצירת החיבור של Looker למסד הנתונים

כדי ליצור את החיבור בין Looker למסד הנתונים:

  1. פותחים את הדף Connect your database to Looker באחת מהדרכים הבאות:

    • לוחצים על סמל התפריט הראשי , בוחרים באפשרות Admin (אדמין) ואז בוחרים באפשרות Connections (חיבורים) בקטע Database (מסד נתונים) בחלונית Admin (אדמין). בדף Connections, לוחצים על הכפתור Add Connection.
    • לוחצים על הכפתור Create בתפריט הניווט הראשי ובוחרים באפשרות Connection.
  2. בתפריט הנפתח Dialect, בוחרים באפשרות Google Cloud PostgreSQL.

  3. ממלאים את פרטי החיבור. רוב ההגדרות משותפות לרוב הניבים של מסדי הנתונים. מידע נוסף זמין בדף התיעוד קישור Looker למסד הנתונים.

  4. כדי לוודא שהחיבור הצליח, לוחצים על הכפתור בדיקת החיבור בקטע פרטי הסטטוס בתחתית הדף הגדרות החיבור.

  5. אם ב-Looker מוצגת ההודעה Can Connect, לוחצים על Connect כדי ליצור את החיבור.

החיבור למסד הנתונים יתווסף לרשימה בדף Admin (ניהול) בקטע Connections (חיבורים) ב-Looker.

פרמטרים נתמכים של JDBC

ב-Google Cloud SQL ל-PostgreSQL, ‏ Looker תומך בפרמטרים הבאים של JDBC בשדה Additional JDBC parameters של החיבור. מידע על הפרמטרים האלה מופיע במסמכי התיעוד של מסד הנתונים.

  • allowEncodingChanges
  • ApplicationName
  • assumeMinServerVersion
  • binaryTransfer
  • binaryTransferDisable
  • binaryTransferEnable
  • cancelSignalTimeout
  • connectTimeout
  • currentSchema
  • databaseMetadataCacheFields
  • defaultRowFetchSize
  • escapeSyntaxCallMode
  • gssEncMode
  • hostRecheckSeconds
  • jaasApplicationName
  • jaasLogin
  • kerberosServerName
  • loadBalanceHosts
  • loginTimeout
  • logServerErrorDetail
  • options
  • password
  • preferQueryMode
  • preparedStatementCacheQueries
  • prepareThreshold
  • queryTimeout
  • readOnly
  • reWriteBatchedInserts
  • socketTimeout
  • ssl
  • sslfactory
  • sslhostnameverifier
  • sslmode
  • sslNegotiation
  • sslpassword
  • sslpasswordcallback
  • stringtype
  • targetServerType
  • tcpKeepAlive
  • unknownLength
  • user

תמיכה בתכונות

כדי ש-Looker יתמוך בתכונות מסוימות, גם הניב של מסד הנתונים צריך לתמוך בהן.

‫Google Cloud PostgreSQL תומך בתכונות הבאות החל מגרסה 26.22 של Looker:

תכונה יש תמיכה?
Looker (Google Cloud core)‎
צבירה סימטרית
טבלאות נגזרות
טבלאות נגזרות מתמידות של SQL
טבלאות נגזרות מתמידות מבוססות LookML
תצוגות יציבות
סגירת שאילתות
טבלאות ציר שמבוססות על SQL
אזורי זמן
SSL
סיכומי ביניים
פרמטרים נוספים של JDBC
תלוי אותיות רישיות (case-sensitive)
סוג מיקום
סוג הרשימה
מאון
מאון ייחודי
הצגת תהליכים ב-SQL Runner
‫SQL Runner Describe Table
הצגת אינדקסים ב-SQL Runner
‫SQL Runner Select 10
מספר השאילתות ב-SQL Runner
הסבר על קוד SQL
פרטי כניסה של OAuth 2.0
הערות להוספת הקשר
מאגר חיבורים (connection pooling)
שרטוטי HLL
מודעות מצטברת
טבלאות PDT מצטברות
אלפיות השנייה
מיקרו-שניות
תצוגות מהותיות
מדדים להשוואה בין תקופות שונות
ספירה משוערת של ערכים ייחודיים
מודלים של ניתוח נתונים במסד הנתונים
יומנים בהתאמה אישית