Looker 支援連線至 PostgreSQL 適用的 Cloud SQL,這項全代管資料庫服務可協助您在 Google Cloud設定、維護及管理 PostgreSQL 關聯式資料庫。
本頁面說明如何從 Looker 連線至 PostgreSQL 適用的 Cloud SQL。
加密網路流量
最佳做法是加密 Looker 應用程式和資料庫之間的網路流量。請考慮採用「啟用安全的資料庫存取權」說明文件頁面所述的其中一個選項。
如要使用 SSL 加密,請參閱 PostgreSQL 說明文件。
使用應用程式預設憑證 (ADC) 連線
Looker (Google Cloud Core) 執行個體支援應用程式預設憑證 (ADC),可做為 Google Cloud SQL for PostgreSQL 的驗證方法。為 PostgreSQL 適用的 Google Cloud SQL 設定 ADC 時,必須執行下列程序:
如需完整程序,請參閱 Looker (Google Cloud Core) 說明文件。
使用者與安全性
Looker 必須在資料庫中擁有使用者帳戶,才能在資料庫中執行動作。
如果您使用的是 Looker (Google Cloud Core) 執行個體,且想使用 ADC,請使用新增至 Cloud SQL 資料庫的模擬服務帳戶使用者名稱。服務帳戶使用者名稱的格式為 service-<project number>@gcp-sa-looker.。如果服務帳戶使用者名稱結尾為 .,請移除使用者名稱的 . 部分。截斷後,使用者名稱會顯示為 service-<project number>@gcp-sa-looker.iam。
如要設定 Looker 使用的資料庫使用者,請在資料庫執行下列步驟:
建立資料庫使用者和密碼。
CREATE USER USERNAME WITH ENCRYPTED PASSWORD 'PASSWORD';授予資料庫使用者權限,讓 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;如果您使用的結構定義不是
public,請執行下列指令,將使用權限授予 Looker:GRANT USAGE ON SCHEMA SCHEMA_NAME TO USERNAME;為確保 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 陳述式,將 web_app 使用者建立的資料表使用者授權授予 looker 使用者。在本例中,目標角色或使用者是 web_app 使用者,也就是說,您要變更 web_app 建立的資料表權限,讓 looker 使用者有權讀取資料表。範例如下:
ALTER DEFAULT PRIVILEGES FOR USER web_app IN SCHEMA public GRANT SELECT ON tables TO looker;
詳情請參閱 PostgreSQL 網站上的 ALTER DEFAULT PRIVILEGES。
暫時結構定義設定
建立臨時結構定義:
CREATE SCHEMA SCHEMA_NAME;
將管理員使用者設為使用者角色的成員:
GRANT USERNAME TO ADMIN_USER;
將臨時結構定義的擁有權變更為 Looker 使用者:
ALTER SCHEMA SCHEMA_NAME OWNER TO USERNAME;
設定 search_path
將 Looker 連線至資料庫前,請先設定適當的 search_path,讓 Looker SQL Runner 能用來從資料庫擷取特定中繼資料:
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 到資料庫的連線:
請按照下列任一方式,開啟「Connect your database to Looker」(將資料庫連線至 Looker) 頁面:
- 按一下「主選單」圖示 ,依序選取「管理」和「連線」(位於「管理」面板的「資料庫」部分)。在「Connections」(連線) 頁面中,按一下「Add Connection」(新增連線) 按鈕。
- 按一下主導覽選單中的「建立」按鈕,然後選取「連線」選單項目。
在「Dialect」(方言) 下拉式選單中,選取「Google Cloud PostgreSQL」。
填寫連線詳細資料。在這些設定中,有絕大部分都是多數資料庫方言的常用設定。詳情請參閱「將 Looker 連線至資料庫」說明文件頁面。
如要確認連線成功,請按一下「連線設定」頁面底部「狀態詳細資料」部分中的「測試連線」按鈕。
如果 Looker 顯示「可連線」,請按下「連線」建立連線。
資料庫連線就會新增至 Looker「連線」管理頁面的清單中。
支援的 JDBC 參數
如果是 Google Cloud SQL for PostgreSQL,Looker 支援在連線的「Additional JDBC parameters」(其他 JDBC 參數) 欄位中,使用下列 JDBC 參數。如要瞭解這些參數,請參閱資料庫的說明文件。
allowEncodingChangesApplicationNameassumeMinServerVersionbinaryTransferbinaryTransferDisablebinaryTransferEnablecancelSignalTimeoutconnectTimeoutcurrentSchemadatabaseMetadataCacheFieldsdefaultRowFetchSizeescapeSyntaxCallModegssEncModehostRecheckSecondsjaasApplicationNamejaasLoginkerberosServerNameloadBalanceHostsloginTimeoutlogServerErrorDetailoptionspasswordpreferQueryModepreparedStatementCacheQueriesprepareThresholdqueryTimeoutreadOnlyreWriteBatchedInsertssocketTimeoutsslsslfactorysslhostnameverifiersslmodesslNegotiationsslpasswordsslpasswordcallbackstringtypetargetServerTypetcpKeepAliveunknownLengthuser
功能支援
Looker 支援的功能,也必須由資料庫方言支援。
Google Cloud PostgreSQL 支援下列功能 (自 Looker 26.22 起):
| 功能 | 是否支援? |
|---|---|
| Looker (Google Cloud Core) | |
| 對稱式匯總函式 | |
| 衍生資料表 | |
| 永久 SQL 衍生資料表 | |
| 永久原生衍生資料表 | |
| 穩定檢視畫面 | |
| 終止查詢 | |
| 以 SQL 為基礎的透視表 | |
| 時區 | |
| SSL | |
| 小計 | |
| JDBC 額外參數 | |
| 區分大小寫 | |
| 位置類型 | |
| 清單類型 | |
| 百分位數 | |
| 不重複值的百分位數 | |
| SQL Runner 顯示程序 | |
| SQL Runner Describe Table | |
| SQL Runner 顯示索引 | |
| SQL Runner 選取 10 | |
| SQL Runner 計數 | |
| SQL 說明 | |
| OAuth 2.0 憑證 | |
| 背景資訊註解 | |
| 連線集區 | |
| HLL Sketch | |
| 匯總感知 | |
| 增量 PDT | |
| 毫秒 | |
| 微秒 | |
| materialized view | |
| 期間比較指標 | |
| 不重複值的近似計數 | |
| 資料庫內分析模型 | |
| 自訂日曆 |