‫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;

משנים את הבעלות על סכימת ה-scratch למשתמש 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. פותחים את הדף חיבור מסד הנתונים ל-Looker באחת מהדרכים הבאות:

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

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

  4. כדי לוודא שהחיבור בוצע בהצלחה, לוחצים על בדיקה. מידע לפתרון בעיות זמין בדף בנושא בדיקת הקישוריות למסד הנתונים.

  5. כדי לשמור את ההגדרות האלה, לוחצים על Connect (חיבור).

פרמטרים נתמכים של 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 יתמוך בתכונות מסוימות, הדיאלקט של מסד הנתונים שלכם צריך לתמוך בהן גם כן.

החל מ-Looker 26.10,‏ Google Cloud PostgreSQL תומך בתכונות הבאות:

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