您可以使用 PostgreSQL 指令列用戶端連線至 Cloud SQL。本頁說明如何將
psql
用戶端連線至 Cloud SQL 執行個體,不論該用戶端是在本機用戶端機器、Compute Engine VM 或 Cloud Shell 中執行。
事前準備
如要使用 psql
用戶端連線至 Cloud SQL 執行個體,請先完成下列步驟:
-
建立 Cloud SQL 執行個體,包括設定預設使用者。
請參閱 建立執行個體和設定預設使用者帳戶的密碼。
(選用) 建立 Compute Engine VM 執行個體,然後使用 SSH 連線至該執行個體。
請參閱「建立及啟動 VM 執行個體」、「關於 SSH 連線」或「使用遠端桌面協定連線至 Windows VM」。
決定連線至執行個體的方式。
如需連線選項和選擇方式,請參閱「連線選項簡介」。
在本機或 Compute Engine VM 上使用 PostgreSQL 用戶端
使用 psql
用戶端連線至 Cloud SQL 執行個體時,需要完成下列三個高階工作:
安裝用戶端
如要安裝 psql
用戶端,請執行下列操作:
Debian/Ubuntu
從套件管理員安裝 psql 用戶端:
sudo apt-get update sudo apt-get install postgresql-client
CentOS/RHEL
從套件管理員安裝 psql 用戶端:
sudo yum install postgresql
openSUSE
從套件管理員安裝 psql 用戶端:
sudo zypper install postgresql
其他平台
- 從 PostgreSQL 下載頁面下載您平台適用的 PostgreSQL Core Distribution。
Core Distribution 內含 psql 用戶端。 - 按照下載頁面上的指示安裝 PostgreSQL 資料庫。
設定 Cloud SQL 執行個體的存取權
如要設定執行個體的存取權,請按照下列步驟操作:
- 在用戶端機器或 Compute Engine VM 執行個體上,使用「What's my IP」(我的 IP 為何) 頁面查看用戶端機器的 IP 位址。
- 複製該 IP 位址。
-
前往 Google Cloud 控制台的「Cloud SQL Instances」頁面。
- 如要開啟執行個體的「總覽」頁面,請按一下執行個體名稱。
- 在 SQL 導覽選單中,選取「Connections」(連結)。
- 選取「網路」分頁標籤。
- 在「Authorized networks」(已授權的網路) 區段中,按一下「Add network」(新增網路),然後輸入安裝用戶端的機器的 IP 位址。
- 按一下 [完成]。然後按一下頁面底部的「儲存」來儲存變更。
- 使用 SSL/TLS 或不使用加密 (不使用 SSL/TLS) 連線至執行個體。
連線至 Cloud SQL 執行個體 (不加密)
如要允許您在不加密的情況下連線,執行個體的 SSL 模式必須設為 ALLOW_UNENCRYPTED_AND_ENCRYPTED
。在 Google Cloud 控制台中,對應的設定是「允許未加密的網路流量」。
如要進一步瞭解執行個體的 SSL/TLS 設定,請參閱設定 SSL/TLS 憑證。
如要連線至執行個體,請按照下列步驟操作:
- 確認您已安裝用戶端,並設定執行個體的存取權。
- 啟動
psql
用戶端:psql "sslmode=disable dbname=postgres user=postgres hostaddr=INSTANCE_IP_ADDRESS"
- 輸入密碼。
- 系統會顯示 psql 提示。
使用 SSL/TLS 連線至 Cloud SQL 執行個體
如要使用 SSL/TLS 和內建驗證機制連線至執行個體,請按照下列步驟操作:
- 啟動
psql
用戶端:psql "sslmode=require \ hostaddr=INSTANCE_IP_ADDRESS \ user=postgres dbname=DB_NAME"
例如:
psql "sslmode=require \ hostaddr=203.12.34.56 \ user=postgres dbname=postgres"
您也可以建立連線服務檔案來管理連線參數,特別是連線至多個執行個體時。詳情請參閱 PostgreSQL 說明文件。
- 輸入密碼。即使 PostgreSQL 支援使用 SSL/TLS 時的無密碼連線,Cloud SQL 仍強制要求密碼。
- 如要確認連線已加密,請查看連線資訊中的密碼:
SSL connection (cipher: ECDHE-RSA-AES128-GCM-SHA256, bits: 128)
使用 SSL/TLS 和用戶端憑證驗證功能連線至 Cloud SQL 執行個體
如果 Cloud SQL 執行個體的 ssl_mode
設為 TRUSTED_CLIENT_CERTIFICATE_REQUIRED
,登入時也必須提供已驗證的用戶端身分。
如要使用 SSL/TLS 憑證連線並進行用戶端驗證,您需要下列項目:
- client-cert.pem 檔案中的用戶端公用金鑰憑證。
- client-key.pem 檔案中的用戶端私密金鑰。
此外,如要讓用戶端驗證伺服器身分以進行相互驗證,請指定伺服器憑證 server-ca.pem。
舉例來說,如要啟動psql
用戶端:
psql "sslmode=verify-ca sslrootcert=server-ca.pem \ sslcert=client-cert.pem sslkey=client-key.pem \ hostaddr=INSTANCE_IP_ADDRESS \ user=postgres dbname=DB_NAME"
如果您沒有用戶端憑證和相應的私密金鑰,請 建立新的用戶端憑證。
在 Cloud Shell 中使用用戶端
如要連線至 Cloud SQL 執行個體 (僅限公開 IP):
- 前往 Google Cloud 控制台。
- 按一下工具列右側的 Cloud Shell 圖示
。
Cloud Shell 需要一些時間才能完成初始化。
- 看到 Cloud Shell 的提示時,請使用內建的用戶端連線至您的 Cloud SQL 執行個體:
gcloud sql connect INSTANCE_ID \ --user=postgres
- 請輸入您的密碼。
gcloud sql connect
指令不支援使用私人 IP 連線至 Cloud SQL 執行個體,也不支援使用 SSL/TLS。如要透過加密連線,請在 Cloud Shell 中安裝並使用 Proxy:
- 在
/home/USER
目錄中安裝 Proxy (Linux 64 位元)。 - 使用 gcloud CLI 驗證啟動 Proxy:
./cloud-sql-proxy INSTANCE_CONNECTION_NAME &
- 使用 TCP 連線連線至資料庫:
psql -U USERNAME --host=127.0.0.1
後續步驟
- 瞭解如何 設定具有私人 IP 位址的執行個體。
- 瞭解 從應用程式連線至執行個體的選項。
- 瞭解
psql
用戶端如何與 SSL 搭配使用。
歡迎試用
如果您未曾使用過 Google Cloud,歡迎建立帳戶,親自體驗實際使用 Cloud SQL 的成效。新客戶可以獲得價值 $300 美元的免費抵免額,可用於執行、測試及部署工作負載。
免費試用 Cloud SQL