本頁面列出 PostgreSQL 適用的 Cloud SQL 的已知問題,以及如何避免發生這些問題或如何復原到問題發生之前的狀態。
如果您的執行個體發生問題,也請查閱診斷問題中的資訊。執行個體連線問題
到期的 SSL/TLS 憑證
如果執行個體設定為使用安全資料傳輸層 (SSL),請前往 Google Cloud 主控台中的「Cloud SQL 執行個體」頁面,並開啟執行個體。開啟執行個體的「Connections」頁面,選取「Security」分頁標籤,確認您的伺服器憑證有效。如果憑證已過期,您必須新增憑證並切換至這個新憑證。
Cloud SQL 驗證 Proxy 版本
如果您使用 Cloud SQL 驗證 Proxy 進行連線,請確認您使用的是最新版本。詳情請參閱「保持 Cloud SQL 驗證 Proxy 為最新版本」。
未取得授權,無法連線
如果您嘗試連線至不在該專案中的執行個體,錯誤訊息只會表示您未取得授權,無法存取該執行個體。
無法建立 Cloud SQL 執行個體
如果您看到
Failed to create subnetwork. Router status is temporarily unavailable. Please try again later. Help Token: [token-ID]
錯誤訊息,請嘗試再次建立 Cloud SQL 執行個體。
下列指令僅適用於預設使用者 ('postgres'):
gcloud sql connect --user
如果您嘗試使用此指令與其他使用者連線,系統會顯示 FATAL: database 'user' does not exist 錯誤訊息。解決方法是使用預設使用者 (「postgres」) 進行連線,然後使用
"\c"
psql 指令以其他使用者身分重新連線。
啟用 IAM db proxy 驗證時,PostgreSQL 連線會停止運作。
當 Cloud SQL 驗證 Proxy 使用 TCP 通訊端啟動,並且帶有
-enable_iam_login
標記時,PostgreSQL 用戶端會在 TCP 連線期間停止運作。其中一個解決方法是在 PostgreSQL 連線字串中使用sslmode=disable
。例如:psql "host=127.0.0.1 dbname=postgres [email protected] sslmode=disable"
另一種解決方法是 使用 Unix 通訊端啟動 Cloud SQL 驗證 Proxy。這會關閉 PostgreSQL SSL 加密功能,並讓 Cloud SQL 驗證 Proxy 執行 SSL 加密。
管理問題
在執行個體上,一次只能執行一項長時間運行的 Cloud SQL 匯入或匯出作業。開始作業時,請確認您不需要對執行個體執行其他作業。此外,您也可以在開始作業時取消作業。
PostgreSQL 會在單一交易中匯入資料。因此,如果您取消匯入作業,Cloud SQL 就不會保留匯入資料。
匯入及匯出資料問題
如果 Cloud SQL 執行個體使用 PostgreSQL 17,但資料庫使用 PostgreSQL 16 或更早版本,則無法使用 Cloud SQL 將這些資料庫匯入執行個體。如要執行這項操作,請使用資料庫移轉服務。
如果您使用資料庫移轉服務將 PostgreSQL 17 資料庫匯入 Cloud SQL,系統會將其匯入為 PostgreSQL 16 資料庫。
針對 PostgreSQL 15 以上版本,如果目標資料庫是從
template0
建立,則可能會發生匯入資料失敗的情況,並顯示permission denied for schema public
錯誤訊息。如要解決這個問題,請執行GRANT ALL ON SCHEMA public TO cloudsqlsuperuser
SQL 指令,為cloudsqlsuperuser
使用者提供公開架構權限。匯出許多大型物件會造成執行個體變成無法回應
如果您的資料庫含有許多大型物件 (blob),則匯出資料庫會耗用許多記憶體,導致執行個體無法回應。即使 blob 是空的,也可能會發生這個問題。
Cloud SQL 不支援自訂的資料表空間,但支援將資料從自訂資料表空間遷移至目的地執行個體中的預設資料表空間
pg_default
。舉例來說,如果您擁有位於/home/data
的dbspace
資料表空間,在遷移後,dbspace
中的所有資料都會遷移至pg_default
。但 Cloud SQL 不會在磁碟上建立名為「dbspace」的表格空間。如果您嘗試從大型資料庫 (例如資料量達 500 GB 以上的資料庫) 匯入及匯出資料,匯入和匯出作業可能會耗時很久。此外,在匯入或匯出作業進行期間,您無法執行其他作業 (例如備份作業)。如要改善匯入和匯出程序的效能,建議您使用
gcloud
或 API 還原先前的備份。
- Cloud Storage 支援 單一物件最大大小為 5 TB。如果資料庫大於 5 TB,匯出至 Cloud Storage 的作業就會失敗。在這種情況下,您需要將匯出檔案分割成較小的區段。
交易記錄和磁碟空間成長
系統會每天清除一次記錄,而非持續清除。如果記錄保留天數與備份數量設定相同,則可能會因備份時間而遺失一天的記錄。舉例來說,將記錄保留期限設為七天,並將備份保留期限設為七份備份,表示系統會保留六到七天的記錄。
建議您將備份數量設為至少比記錄保留天數多一個,以確保記錄保留天數達到指定天數的下限。
與 Cloud Monitoring 或 Cloud Logging 相關的問題
在特定情境中,具有下列區域名稱的執行個體會顯示不正確,如下所示:
us-central1
會顯示為us-central
europe-west1
會顯示為europe
asia-east1
會顯示為asia
這個問題會在以下情境中發生:
- Cloud Monitoring 中的快訊
- Metrics Explorer
- Cloud Logging
您可以使用資源中繼資料標籤,緩解 Cloud Monitoring 中的快訊和 Metrics Explorer 的問題。請使用系統中繼資料標籤
region
,而非 cloudsql_database 監控資源標籤region
。