您可以將 PostgreSQL 資料庫連結至數據分析,以視覺化方式呈現及分析資料。使用 PostgreSQL 連接器,將資料轉換為互動式資訊主頁和報表。接著,您可以與團隊或沒有資料庫直接存取權的利害關係人分享洞察資料。
支援的版本
我們已在下列 PostgreSQL 版本上測試數據分析:
- 9.6
- 10
- 11
- 12
- 13
- 14
如果使用支援版本時遇到問題,請前往數據分析社群告訴我們。您也可以在 Issue Tracker 新增功能要求並投票。
如何連線至 PostgreSQL
PostgreSQL 連接器使用 PostgreSQL JDBC 驅動程式,將數據分析資料來源連結至單一 PostgreSQL 資料庫資料表,或您提供的自訂查詢。
如要連線至 PostgreSQL 資料庫,請按照下列步驟操作:
- 登入數據分析。
- 在數據分析首頁上,按一下「 建立」,然後選取「資料來源」。
- 選取「PostgreSQL」PostgreSQL連接器。
- 如果系統要求,請授權數據分析存取您的資料。
- 使用其中一個連線選項,設定資料庫的存取權。
- 按一下「驗證」AUTHENTICATE。系統隨即會列出該資料庫中的資料表。
- 從清單中選取資料表,或輸入自訂查詢。
- 點選「連結」。
現在,您可以將資料表中的所有資料欄,當做報表中的欄位使用。
連結選項
使用主機名稱或 IP 位址連線
在連線面板中,選取「基本」。輸入連線詳細資料:
- 主機名稱或 IP 位址
- 通訊埠 (選填)
- 資料庫
- 使用者名稱
- 密碼
使用 JDBC 網址連線
在連線面板中,選取「JDBC URL」。輸入連線詳細資料:
- JDBC 網址
範例
jdbc:postgresql://HOSTNAME[:PORT]/DATABASE_NAMECloud SQL (私人 IP)
jdbc:google:postgresql://< var>INSTANCE_CONNECTION_NAME/DATABASE_NAME
- 使用者名稱
- 密碼
如要使用 IPv6 常值位址連線,請將位址括在中括號內。例如:jdbc:postgresql://[2001:db8:1:1:1:1:1:1]/your_db
使用 SSL 連線
數據分析支援使用傳輸層安全標準 (TLS) 通訊協定 (TLS 1.2),與伺服器建立安全 (加密) 連線。TLS 也稱為 SSL (安全資料傳輸層)。
如要啟用安全連線,請選取「啟用 SSL」,然後提供 SSL 設定檔。
使用用戶端驗證連線
勾選「Enable client authentication」(啟用用戶端驗證) 方塊後,如果需要存取資料庫,可以上傳用戶端私密金鑰和用戶端憑證。
進一步瞭解 PostgreSQL 安全連線。
自訂查詢
選取「自訂查詢」選項,即可提供 SQL 查詢,而不必連結至單一資料表。數據分析會將這段自訂 SQL 做為內部選取陳述式,用於對資料庫產生的每項查詢。
自訂 SQL 查詢只能包含一個陳述式。舉例來說,下列指令包含多個 SQL 陳述式,因此無法運作:
DECLARE cost_per_tb_in_dollar FLOAT64 DEFAULT 4.2;
SELECT total_bytes_billed / (1024 * 1024))* cost_per_tb_in_dollar)/(1024*1024))) FROM billing-table;
數據分析中的查詢可能會在三到五分鐘後逾時。如果自訂查詢逾時,請嘗試下列方法解決問題:
- 簡化查詢,加快執行速度。
- 在資料庫中執行查詢,並將結果儲存在另一個資料表。在資料來源中連結新資料表。
支援的資料類型
PostgreSQL 連接器支援下列資料類型:
- 數字
- 字元
- 布林值
- 日期/時間 (間隔除外)
如果數據分析遇到不支援類型的資料欄,就不會為該資料欄建立欄位。
進一步瞭解 PostgreSQL 資料類型。
公開和私人連線
數據分析支援透過公開和私人 IP 連線至 Cloud SQL 上的 PostgreSQL。
如要使用私人 IP 連線至 PostgreSQL 適用的 Cloud SQL 執行個體,請確認下列事項:
- Identity and Access Management (IAM) 權限:在包含 Cloud SQL 執行個體的 Google Cloud專案中,授予 Cloud SQL 用戶端 (
roles/cloudsql.client) IAM 角色。您必須將這個角色授予在數據分析中驗證連線的使用者帳戶,或授予資料來源的憑證擁有者。如果資料來源使用檢視者的憑證,請將這個角色授予每位報表檢視者。 - 執行個體設定:在 Cloud SQL 執行個體設定中,選取 「Private path for Google Cloud services」(Google Cloud 服務的私人路徑) 選項。
JDBC 網址:在連線面板中,選取「JDBC URL」(JDBC 網址) 連線選項,然後按照下列格式輸入連線字串:
jdbc:google:postgresql://INSTANCE_CONNECTION_NAME/DATABASE_NAME
更改下列內容:
INSTANCE_CONNECTION_NAME:執行個體連線名稱,格式為PROJECT_ID:REGION:INSTANCE_IDDATABASE_NAME:PostgreSQL 資料庫名稱
例如:
jdbc:google:postgresql://my-project:us-central1:my-instance/my-db請勿在連線字串中加入組織名稱或組織 ID 做為前置字元,並移除網址中的所有空格。
防火牆和資料庫存取權
如要允許數據分析連線至防火牆後的資料庫並執行查詢,您必須開放下列其中一個 IP 位址的存取權。您可能也需要設定資料庫,接受來自這些位址的流量。如需操作說明,請參閱特定資料庫的說明文件。
IP 位址
下列位址保留給數據分析的全球基礎架構:
142.251.74.0/232001:4860:4807::/48(選用,適用於支援 IPv6 的平台)
如果您已為數據分析 Pro 訂閱方案啟用資料落地功能,請改用下列位址:
142.251.56.0/242001:4860:4815::/48(選用,適用於支援 IPv6 的平台)
PostgreSQL 連接器的限制
PostgreSQL 連接器連線至 Cloud SQL PostgreSQL 執行個體時,不會使用 Cloud SQL Proxy。如果您使用公開 IP 連線至 Cloud SQL PostgreSQL 執行個體,則必須將列出的 IP 新增至授權網路清單。請參閱 Cloud SQL 說明文件。
AlloyDB 不支援匯出憑證授權單位 (CA) 憑證,因此無法透過 SSL 連線至 AlloyDB 資料來源。
不支援選取
public結構定義以外的資料表。不過,您可以選取「CUSTOM QUERY」(自訂查詢) 選項,編寫包含任何結構定義中資料表的查詢。使用這個連接器時,每項查詢最多可查詢 15 萬列。如果超過這個限制,資料會遭到截斷。
欄標題 (欄位名稱) 只能使用 ASCII 字元。不支援非 ASCII 字元。
疑難排解
請參閱數據分析疑難排解指南,查看常見錯誤訊息清單和解決步驟。