PostgreSQL

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

ניבים שבהם משתמשים בהוראות האלה

לניבים הבאים יש דרישות זהות להגדרת מסד הנתונים, כפי שמתואר בדף הזה:

  • PostgreSQL
  • Microsoft Azure PostgreSQL
  • Amazon Aurora PostgreSQL
  • Amazon RDS ל-PostgreSQL

ב-Amazon RDS ל-PostgreSQL וב-Amazon Aurora PostgreSQL, ‏Looker כולל תמיכה בשילוב.

ל-PostgreSQL ב-Heroku, עיינו במסמכי התיעוד של Heroku.

למידע על Google Cloud SQL ל-PostgreSQL, קראו את הדף הייעודי Google Cloud SQL ל-PostgreSQL.

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

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

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

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

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

כדי להגדיר משתמש במסד הנתונים ש-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.

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

‫Postgres באירוח עצמי

יוצרים סכימה בבעלות המשתמש ב-Looker:

CREATE SCHEMA SCHEMA_NAME AUTHORIZATION USERNAME;

‫Postgres ב-Amazon RDS

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

CREATE SCHEMA SCHEMA_NAME;

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

    • ב-Microsoft Azure PostgreSQL, בוחרים באפשרות Microsoft Azure PostgreSQL.
    • ב-PostgreSQL, בוחרים באפשרות PostgreSQL 9.5+‎ או PostgreSQL pre-9.5, בהתאם לגרסה של PostgreSQL.
    • ב-Amazon RDS ל-PostgreSQL וב-Amazon Aurora PostgreSQL, בוחרים באפשרות PostgreSQL 9.5+‎.
  3. ממלאים את פרטי החיבור. רוב ההגדרות משותפות לרוב הניבים של מסדי הנתונים. מידע נוסף זמין בדף התיעוד קישור Looker למסד הנתונים.

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

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

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

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

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

החל מגרסה 26.22 של Looker, גרסאות 9.5 ומעלה של PostgreSQL תומכות בתכונות הבאות:

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

החל מגרסה 26.22 של Looker, ‏Microsoft Azure PostgreSQL תומך בתכונות הבאות:

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