請查看下列頁面,確認您的問題是否已有解答:
本頁面主題包括:
- 備份與復原
- 取消匯入和匯出
- 複製
- 連線能力
- 建立執行個體
- 使用 Data API 執行 SQL
- 標記
- 高可用性
- 匯入和匯出
- 與 Vertex AI 整合
- Logging
- 管理執行個體
- Private Service Connect
- 複製
備份與還原
| 問題 | 疑難排解 |
|---|---|
| 您無法查看目前作業的狀態。 | 作業完成後, Google Cloud 控制台只會回報成功或失敗。不適合用來顯示警告或其他最新資訊。
執行
|
| 您想找出是誰發出隨選備份作業。 | 使用者介面不會顯示啟動作業的使用者。 查看記錄,並依文字篩選,找出使用者。您可能需要使用稽核記錄來處理私人資訊。相關記錄檔包括:
|
| 執行個體刪除後,就無法備份。 | 如果刪除執行個體時未建立最終資料備份,就無法復原資料。不過,如果您還原執行個體,Cloud SQL 也會還原備份。如要進一步瞭解如何復原已刪除的執行個體,請參閱「刪除執行個體後保留備份」。 如果您已執行匯出作業,請建立新的執行個體,然後執行匯入作業來重新建立資料庫。匯出的資料會寫入 Cloud Storage,匯入的資料則會從 Cloud Storage 讀取。 |
| 自動備份作業卡住數小時,無法取消。 | 視資料庫大小而定,備份作業可能需要較長時間。
如果確實需要取消作業,可以要求
客戶服務團隊 |
| 如果 SQL dump 檔案中有一或多位參照的使用者不存在,還原作業就會失敗。 | 還原 SQL 傾印前,如果資料庫使用者擁有傾印資料庫中的物件,或已取得傾印資料庫中的物件存取權,這類使用者都必須存在於目標資料庫中。否則還原作業無法以原始擁有權或權限重新建立物件。 還原 SQL 轉儲前,請先 建立資料庫使用者。 |
| 您想將自動備份的保留天數從 7 天增加到 30 天以上。 | 您可以
設定要保留的自動備份數量,範圍為 1 到 365。系統會根據設定的保留值,定期刪除自動備份。很抱歉,這表示目前顯示的備份是唯一可還原的自動備份。 如要無限期保留備份,可以建立隨選備份,因為這類備份不會像自動備份一樣遭到刪除。隨選備份會無限期保留。也就是說,除非您刪除備份或備份所屬的執行個體,否則備份會一直存在。由於這類備份不會自動刪除,因此可能會影響計費。 |
| 自動備份失敗,且您未收到電子郵件通知。 | 如要讓 Cloud SQL 通知您備份狀態,請設定記錄式警告。 |
| 如果執行個體的使用者定義標籤超過 50 個,自動或隨選備份就會失敗。 | Cloud SQL 執行備份時,會將執行個體的使用者定義標籤複製到基礎儲存空間快照,並附加內部系統標籤。如果標籤總數超過 64 個標籤的快照限制,備份就會失敗。 如要解決這個問題,請移除多餘的標籤,讓執行個體的使用者定義標籤數量不超過 50 個。詳情請參閱「標籤執行個體」。 |
| 執行個體在失敗和備份還原狀態之間循環,因此反覆失敗。還原後嘗試連線及使用資料庫失敗。 |
建議做法:
|
| 執行備份/還原作業時,發現資料遺失。 | 建立資料表時未記錄。例如:
從備份還原時,不會包含下列資料表:
解決方法是避免使用未記錄的資料表,如果您想透過備份還原這些資料表。如要從已有未記錄資料表的資料庫還原,可以將資料庫轉儲至檔案,然後在修改轉儲檔案後重新載入資料,將這些資料表從 |
| 如果選擇在刪除執行個體時建立最終備份,則無法刪除執行個體。 |
刪除執行個體時,您必須確認是否要在刪除前建立最終備份。如果您使用 final-backup 執行個體設定啟用最終備份,則刪除執行個體時所做的選擇,必須與您為執行個體啟用最終備份時設定的最終備份執行個體設定相符。如要緩解這個問題,請採取下列任一做法:
|
| 使用最終備份設定成功建立主要執行個體後,無法建立副本執行個體。 |
如果建立新執行個體時啟用了最終備份執行個體設定,則必須更新最終備份組織政策,將備份設定僅套用至主要執行個體。副本執行個體不支援最終備份。 詳情請參閱「Cloud SQL 組織政策」。 |
取消匯入和匯出
| 問題 | 疑難排解 |
|---|---|
錯誤訊息:You can't cancel operation [operation-ID] because
this operation isn't in progress. |
您嘗試取消已完成、失敗或取消的匯入或匯出作業。如果作業正在執行,您可以取消。 |
錯誤訊息:You can't cancel operation [operation-ID] because
Cloud SQL doesn't support the cancellation of an [operation-type]
operation. |
Cloud SQL 不支援取消作業,因為作業的作業類型並非 |
錯誤訊息:The [operation-type] operation isn't cancelled. Wait
and retry in a few seconds. |
Cloud SQL 目前無法取消匯入或匯出作業。請稍後再試。如果問題持續發生,請與 Google Cloud 支援團隊聯絡。 |
複製
| 問題 | 疑難排解 |
|---|---|
複製失敗,並顯示 constraints/sql.restrictAuthorizedNetworks 錯誤。 |
Authorized Networks 設定會封鎖複製作業。Authorized Networks 是在 Google Cloud 控制台的「Connectivity」(連線) 區段中設定公開 IP 位址,基於安全性考量,系統不允許複製。如果可以,請從 Cloud SQL 執行個體中移除所有 |
錯誤訊息:Failed to create subnetwork. Couldn't find free
blocks in allocated IP ranges. Please allocate new ranges for this service
provider. Help Token: [help-token-id]. |
您嘗試使用 Google Cloud 控制台複製具有私人 IP 位址的執行個體,但未指定要使用的分配 IP 範圍,且來源執行個體並非以指定範圍建立。因此,系統會在隨機範圍內建立複製的執行個體。 使用 |
連結
| 問題 | 疑難排解 |
|---|---|
Aborted connection。 |
可能的問題如下:
應用程式必須能容許網路故障,並遵循最佳做法,例如連線集區和重試。大多數連線集區程式都會盡可能擷取這些錯誤。否則,應用程式必須重試或正常失敗。 如要重試連線,建議採用下列方法:
結合這些方法有助於減少調節。 |
| 使用私人 IP 或虛擬私有雲網路對接時,連線逾時或發生一般連線錯誤。 | 連線嘗試失敗,出現一般逾時或連線錯誤,但沒有診斷詳細資料。 疑難排解步驟:
如需更多詳細資料和 gcloud 診斷指令,請參閱「診斷虛擬私有雲網路和私人 IP 連線失敗」。 |
錯誤訊息:Login failed for user "" |
您可能會在 Microsoft Entra ID 驗證期間遇到這項登入錯誤。如要解決這個問題,請確認這位 Microsoft Entra ID 使用者有 SQL Server 登入資訊。 |
| 私人 IP 執行個體的網路連線問題 | 設定整合時,可能會遇到下列問題:
如要進一步瞭解如何解決這些問題,請參閱「排解 Microsoft Entra ID 整合問題」。 |
Certificate verify failed。 |
用戶端憑證已過期,或憑證路徑不正確。 重新建立憑證,即可重新產生憑證。 |
| 使用 IAM 資料庫驗證機制時,連線建立速度緩慢或連線逾時。 | 使用 IAM 資料庫驗證機制連線至 Cloud SQL 執行個體時,需要幾秒鐘的時間或逾時,但內建資料庫驗證機制可正常連線。 原因:執行個體使用共用核心機型 ( 解析度:
詳情請參閱「共用核心執行個體的效能」。 |
FATAL: database 'user' does not exist。 |
gcloud sql connect --user 僅適用於預設的 postgres 使用者。連線至預設使用者,然後變更使用者。 |
| 你想知道誰連上了。 | 登入資料庫並執行下列指令:
SELECT datname, usename, application_name as appname, client_addr, state, now() - backend_start as conn_age, now() - state_change as last_activity_age FROM pg_stat_activity WHERE backend_type = 'client backend' ORDER BY 6 DESC LIMIT 20 |
Hostname/IP does not match certificate's altnames:
Host: localhost. is not in the cert's altnames。 |
主機位址與伺服器憑證別名中的位址不符。 如果您搭配使用 Node.js 和 verify-full 或其對等項目,請將 DNS 名稱用於 servername 參數。您可以使用 openssl 在伺服器憑證中找到 DNS 名稱。例如: |
建立執行個體
| 問題 | 疑難排解 |
|---|---|
錯誤訊息:The zone or region does not have sufficient
resources to handle the request at the moment. |
在提出執行個體建立要求時,所選可用區沒有足夠的容量,無法提供要求的資源或 VM 類型。在提出要求時,該特定區域位置可能同時有大量作業需求。 如要解決這個問題,請在其他可用區中重新建立執行個體,或在其他時間點,於發生錯誤的可用區中重新建立執行個體。 |
錯誤訊息:Failed to create subnetwork. Couldn't
find free blocks in allocated IP ranges. Please allocate new ranges for
this service provider。 |
分配的 IP 範圍內沒有其他可用位址。可能的情境包括:
如要解決這個問題,您可以擴大現有的分配 IP 範圍,或為私人服務連線分配額外的 IP 範圍。詳情請參閱「分配 IP 位址範圍」。 如果您在建立 Cloud SQL 執行個體時使用了 分配新範圍時,請注意分配範圍不得與任何現有分配範圍重疊。 建立新的 IP 範圍後,請使用下列指令更新虛擬私有雲對接: gcloud services vpc-peerings update \ --service=servicenetworking.googleapis.com \ --ranges=OLD_RESERVED_RANGE_NAME,NEW_RESERVED_RANGE_NAME \ --network=VPC_NETWORK \ --project=PROJECT_ID \ --force 如要擴充現有分配,請務必只增加分配範圍,不要減少。舉例來說,如果原始分配為 10.0.10.0/24,則新的分配至少應為 10.0.10.0/23。 一般來說,如果從 /24 分配開始,每項條件 (額外的執行個體類型群組、額外的區域) 將 /mask 減少 1 是不錯的經驗法則。舉例來說,如果嘗試在同一個分配項目上建立這兩種執行個體類型群組,只要從 /24 變更為 /23 即可。 擴充現有 IP 範圍後,請使用下列指令更新虛擬私有雲對接: gcloud services vpc-peerings update \ --service=servicenetworking.googleapis.com \ --ranges=RESERVED_RANGE_NAME \ --network=VPC_NETWORK \ --project=PROJECT_ID |
錯誤訊息:Failed to create subnetwork. Router status is
temporarily unavailable. Please try again later. Help Token:
[token-ID]。 |
再次嘗試建立 Cloud SQL 執行個體。 |
錯誤訊息:HTTPError 400: Invalid request: Incorrect Service Networking config for instance: PROJECT_ID:INSTANCE_NAME:SERVICE_NETWORKING_NOT_ENABLED. |
使用下列指令啟用 Service Networking API,然後再次嘗試建立 Cloud SQL 執行個體。 gcloud services enable servicenetworking.googleapis.com \ --project=PROJECT_ID |
錯誤訊息:Failed to create subnetwork. Required
'compute.projects.get' permission for PROJECT_ID。 |
使用私人 IP 位址建立執行個體時,系統會使用 Service Networking API 即時建立服務帳戶。如果您最近才啟用 Service Networking API,系統可能不會建立服務帳戶,且執行個體建立作業會失敗。在這種情況下,您必須等待服務帳戶在整個系統中傳播,或手動新增服務帳戶並授予必要權限。 |
錯誤訊息:More than 3 subject alternative names are not
allowed. |
您嘗試使用自訂 SAN,將三個以上的 DNS 名稱新增至 Cloud SQL 執行個體的伺服器憑證。執行個體最多只能新增三個 DNS 名稱。 |
錯誤訊息:Subject alternative names %s is too long. The
maximum length is 253 characters. |
如要將 DNS 名稱新增至 Cloud SQL 執行個體的伺服器憑證,請確認名稱不超過 253 個字元。 |
錯誤訊息:Subject alternative name %s is invalid. |
確認要新增至 Cloud SQL 執行個體伺服器憑證的 DNS 名稱符合下列條件:
|
使用 Data API 執行 SQL
| 問題 | 疑難排解 |
|---|---|
The instance doesn't allow using ExecuteSql to access this instance.
You can allow it by patching the instance with {settings: { dataApiAccess:
"ALLOW_DATA_API" }}
|
Data API 預設為停用。 在執行個體上啟用 Data API 即可解決問題。 |
Secret cannot be provided when auto_iam_authn is true.
|
將 auto_iam_authn 設為 true,即表示您使用 IAM 向資料庫進行驗證。這種驗證方式不需要密碼或密鑰。請參閱「
使用 IAM 進行驗證」。 |
ExecuteSql API is not supported for instances in certain
Assured Workloads control packages folders yet.
|
SQL 指令碼及其執行回應可能會在用戶端與目標執行個體位置之間的中繼位置傳輸。因此,某些 Assured Workloads 專案中的執行個體要求會失敗。如果專案未註冊 Assured Workloads,但手動強制執行 constraints/sql.restrictNoncompliantResourceCreation,請要求組織管理員移除限制,新建立的執行個體就不會發生問題。 |
IAM authentication is not enabled for the instance
|
為執行個體設定 IAM 驗證,即可解決問題。 |
The database is currently unavailable.
|
執行個體可能正在重新啟動、維護中,或處於健康狀態不佳。請檢查執行個體狀態,稍後再試。 |
匯出
| 問題 | 疑難排解 |
|---|---|
HTTP Error 409: Operation failed because another operation was
already in progress. |
執行個體已有待處理的作業。系統一次只能執行一項作業。請待目前的作業完成後再提出要求。 |
HTTP Error 403: The service account does not have the required
permissions for the bucket. |
請確認值區存在,且 Cloud SQL 執行個體 (執行匯出作業) 的服務帳戶具備 Storage Object Creator 角色 (roles/storage.objectCreator),可將匯出內容載入值區。請參閱「Cloud Storage 的 IAM 角色」。 |
| CSV 匯出成功,但 SQL 匯出失敗。 | CSV 和 SQL 格式的匯出方式不同。SQL 格式會匯出整個資料庫,可能需要較長時間才能完成。CSV 格式可讓您定義要將資料庫的哪些元素納入匯出作業。 使用 CSV 匯出功能,只匯出所需內容。 |
| 匯出時間過長。 | Cloud SQL 不支援並行同步作業。 使用 匯出卸載。概略來說,在匯出卸載作業中,Cloud SQL 不會在來源執行個體上發出匯出作業,而是啟動卸載執行個體來執行匯出作業。匯出卸載功能有多項優點,包括提升來源執行個體的效能,以及在匯出作業執行期間解除管理作業的封鎖。如果啟用匯出作業卸載功能,總延遲時間可能會增加,增加的時間長度取決於啟動卸載執行個體所需的時間。一般來說,如果匯出作業的大小合理,延遲時間就不會太長。不過,如果匯出作業規模夠小,您可能會發現延遲時間增加。 |
| 建立擴充功能時發生錯誤。 | dump 檔案含有不支援的擴充功能參照。 |
使用 pg_dumpall 時發生錯誤。 |
如要搭配使用 --global 旗標和 pg_dumpall 公用程式,必須具備超級使用者角色,但 PostgreSQL 適用的 Cloud SQL 不支援這個角色。如要避免在執行包含使用者名稱的匯出作業時發生錯誤,請一併使用 --no-role-passwords 旗標。 |
匯出作業在匯出任何內容前逾時,並顯示錯誤訊息 Could not receive data from client: Connection reset
by peer. |
如果 Cloud Storage 在特定時間範圍內 (通常約七分鐘) 未收到任何資料,連線就會重設。初始匯出查詢可能需要較長的時間才能執行。 使用
|
| 您希望自動匯出。 | Cloud SQL 不提供自動匯出的方法。 您可以使用 Cloud Scheduler、Pub/Sub 和 Cloud Run functions 等 Google Cloud產品,建構自己的自動匯出系統,類似這篇關於 自動備份的文章。 |
旗標
| 問題 | 疑難排解 |
|---|---|
| 您設定的工作階段時區會在登出時失效。 |
連線至資料庫,並將資料庫時區設為所需時區 (依使用者或資料庫設定)。 在 PostgreSQL 適用的 Cloud SQL 中,您可以指定下列項目。
工作階段關閉後,這些設定仍會保留,模擬 ALTER DATABASE dbname SET TIMEZONE TO 'timezone'; ALTER USER username SET TIMEZONE TO 'timezone'; 這些設定只會套用至資料庫的新連線。如要查看時區變更,請中斷與執行個體的連線,然後重新連線。 |
高可用性
| 問題 | 疑難排解 |
|---|---|
| 找不到手動容錯移轉的指標。 | 只有自動容錯移轉會計入指標。 |
| Cloud SQL 執行個體資源 (CPU 和 RAM) 的使用率接近 100%,導致高可用性執行個體停止運作。 | 執行個體機器大小過小,無法負荷負載。 編輯執行個體,升級至更大的機器,取得更多 CPU 和記憶體。 |
匯入
| 問題 | 疑難排解 |
|---|---|
錯誤訊息:permission denied for schema public |
如果是 PostgreSQL 15 以上版本,若目標資料庫是從 template0 建立,匯入資料可能會失敗。如要解決這個問題,請執行 GRANT ALL ON SCHEMA public TO cloudsqlsuperuser SQL 指令,將公開結構定義權限授予 cloudsqlsuperuser 使用者。 |
HTTP Error 409: Operation failed because another operation was already in progress。 |
執行個體已有待處理的作業。系統一次只能執行一項作業。請待目前的作業完成後再提出要求。 |
| 匯入作業時間過長。 | 有效連線數量過多可能會干擾匯入作業。
關閉未使用的作業。檢查 Cloud SQL 執行個體的 CPU 和記憶體用量,確保有足夠的可用資源。如要確保有最多資源可供匯入作業使用,最好的方法是在開始作業前重新啟動執行個體。 重新啟動:
|
| 如果 dump 檔案中有一或多位參照的使用者不存在,匯入作業就會失敗。 | 匯入 dump 檔案前,如果資料庫使用者擁有 dump 資料庫中的物件,或已取得 dump 資料庫中的物件存取權,這類使用者都必須存在於目標資料庫中。否則匯入作業將無法以原始擁有權或權限重新建立物件。 匯入前,請先 建立資料庫使用者。 |
| 匯入資料後,資料磁碟用量會大幅增加。 | 匯入資料後,磁碟用量可能會超出預期。這可能是因為您使用了時間點復原功能。 如要解決這個問題,請在匯入資料後停用時間點復原功能,以便刪除記錄並復原儲存空間。請注意,減少儲存空間用量並不會縮減為執行個體佈建的儲存空間大小。 |
錯誤訊息:GRANT stderr: ERROR: must be member of role ROLE_NAME |
如果您嘗試將上傳至 Cloud Storage 的 SQL dump 檔案匯入 Cloud SQL 資料庫,且匯入工作已執行約四天,就會顯示這則錯誤訊息。 ROLE_NAME 是在來源 PostgreSQL 資料庫中定義的自訂資料庫角色。預設的 如要解決這個問題,請完成下列步驟:
|
與 Vertex AI 整合
| 問題 | 疑難排解 |
|---|---|
錯誤訊息:Google ML integration API is supported only on Postgres version 12 or above. |
如要在 Cloud SQL 啟用 Vertex AI 整合功能,您必須使用 PostgreSQL 適用的 Cloud SQL 資料庫,且版本須為 12 以上。如要將資料庫升級至這個版本,請參閱「就地升級資料庫主要版本」。 |
錯誤訊息:Google ML Integration API is not supported on shared core instance. Please upsize your machine type. |
如果執行個體的機型選用共用核心,就無法在 Cloud SQL 啟用 Vertex AI 整合功能。將機器類型升級為專用核心。詳情請參閱「機器類型」。 |
錯誤訊息:Google ML Integration is unsupported for this maintenance version. Please follow https://cloud.google.com/sql/docs/postgres/self-service-maintenance to update the maintenance version of the instance. |
如要在 Cloud SQL 啟用 Vertex AI 整合功能,執行個體的維護版本必須是 R20240130 以上。如要將執行個體升級至這個版本,請參閱「自助式維護」。 |
錯誤訊息:Cannot invoke ml_predict_row if 'cloudsql.enable_google_ml_integration' is off. |
cloudsql.enable_google_ml_integration 資料庫旗標已關閉,Cloud SQL 無法與 Vertex AI 整合。如要啟用這個旗標,請使用 gcloud sql instances patch 指令:gcloud sql instances patch INSTANCE_NAME --database-flags cloudsql.enable_google_ml_integration=on將 INSTANCE_NAME 替換為主要 Cloud SQL 執行個體的名稱。 |
錯誤訊息:Failed to connect to remote host: Connection refused. |
Cloud SQL 與 Vertex AI 之間的整合功能未啟用。如要啟用這項整合功能,請使用 gcloud sql instances patch 指令:gcloud sql instances patch INSTANCE_NAME 將 INSTANCE_NAME 替換為主要 Cloud SQL 執行個體的名稱。 |
錯誤訊息:Vertex AI API has not been used in project PROJECT_ID before or it is disabled. Enable it by visiting /apis/api/aiplatform.googleapis.com/overview?project=PROJECT_ID then retry. |
未啟用 Vertex AI API。如要進一步瞭解如何啟用這個 API,請參閱「啟用資料庫與 Vertex AI 整合功能」。 |
錯誤訊息:Permission 'aiplatform.endpoints.predict' denied on resource. |
在 Cloud SQL 執行個體所在的專案中,Vertex AI 權限未新增至 Cloud SQL 服務帳戶。如要進一步瞭解如何將這些權限新增至服務帳戶,請參閱「授予 Cloud SQL 服務帳戶 Identity and Access Management (IAM) 權限,以便存取 Vertex AI」。 |
錯誤訊息:Publisher Model `projects/PROJECT_ID/locations/REGION_NAME/publishers/google/models/MODEL_NAME` not found. |
Vertex AI 中沒有該機器學習模型或 LLM。 |
錯誤訊息:Resource exhausted: grpc: received message larger than max. |
Cloud SQL 傳送至 Vertex AI 的要求大小,超過 gRPC 限制 (每項要求 4 MB)。 |
錯誤訊息:Cloud SQL attempts to send a request to Vertex AI. However, the instance is in the %s region, but the Vertex AI endpoint is in the %s region. Make sure the instance and endpoint are in the same region. |
Cloud SQL 會嘗試向 Vertex AI 傳送要求。不過,執行個體和 Vertex AI 端點位於不同區域。如要解決這個問題,執行個體和端點必須位於相同區域。 |
錯誤訊息:The Vertex AI endpoint isn't formatted properly. |
Vertex AI 端點格式不正確。詳情請參閱「使用私人端點進行線上預測」。 |
錯誤訊息:Quota exceeded for aiplatform.googleapis.com/online_prediction_requests_per_base_model with base model: textembedding-gecko. |
Cloud SQL 傳送至 Vertex AI 的要求數量,超過每項專案、每個模型、每個區域每分鐘 1,500 項要求的限制。 |
記錄
| 問題 | 疑難排解 |
|---|---|
| 記錄功能會耗用 Cloud SQL 執行個體的大量 CPU 和記憶體。 | 記錄功能需要調整。
|
| 找不到稽核記錄。 | 只有在下列情況下,系統才會寫入資料存取記錄:作業是由已驗證使用者驅動的 API 呼叫,用於建立、修改或讀取使用者建立的資料,或作業存取資源的設定檔或中繼資料。 |
| 記錄中找不到作業資訊。 | 您想進一步瞭解某項作業。
例如,某位使用者遭到刪除,但您找不到刪除者。 記錄檔會顯示作業已啟動,但不會提供任何其他資訊。您必須啟用稽核記錄,系統才會記錄這類詳細資訊和個人識別資訊 (PII)。 |
| 記錄檔難以閱讀。 | 您想以 JSON 或文字格式查看記錄。您可以使用
gcloud logging read 指令和 Linux 後置處理指令下載記錄。如要下載 JSON 格式的記錄,請按照下列步驟操作: gcloud logging read \ "resource.type=cloudsql_database \ AND logName=projects/PROJECT_ID \ /logs/cloudsql.googleapis.com%2FLOG_NAME" \ --format json \ --project=PROJECT_ID \ --freshness="1d" \ > downloaded-log.json 如要下載 TEXT 格式的記錄: gcloud logging read \ "resource.type=cloudsql_database \ AND logName=projects/PROJECT_ID \ /logs/cloudsql.googleapis.com%2FLOG_NAME" \ --format json \ --project=PROJECT_ID \ --freshness="1d"| jq -rnc --stream 'fromstream(1|truncate_stream(inputs)) \ | .textPayload' \ --order=asc > downloaded-log.txt |
| PostgreSQL 記錄中找不到查詢記錄。 | 您必須啟用 pgaudit 旗標。
|
管理執行個體
| 問題 | 疑難排解 |
|---|---|
| 你想找出哪些項目占用儲存空間。 | 舉例來說,您發現資料庫只使用了 3 GB,但儲存空間顯示已使用 14 GB。資料庫資料表未使用的空間通常會用於交易記錄、暫存檔案或其他記錄。 您可以在 Metrics Explorer 中使用 建議做法:
|
| 您想找出目前正在執行的查詢。 | 連線至資料庫,然後執行下列查詢:
|
| 您想瞭解特定欄位使用的單位。 | 連線至資料庫,並執行下列查詢 (使用您自己的 FIELD_NAME):
|
| 您想找出資料庫設定目前的值。 | 連線至資料庫,並執行下列查詢 (請使用您自己的 SETTING_NAME):
執行 |
| 您想停止遭封鎖的背景程序。 | 使用者必須具備 pg_signal_backend 角色。執行下列指令:
|
| 執行個體的交易 ID 耗用量即將達到 100%。 | 內部監控系統發出警告,指出執行個體的交易 ID 消耗量接近 100%。您想避免交易迴繞,因為這可能會封鎖寫入作業。 自動清理工作可能遭到封鎖,或回收交易 ID 的速度不夠快,無法跟上工作負載。 為避免因交易迴繞問題而中斷服務,請參閱這些自助服務提示,瞭解如何處理 TXID 迴繞。 如需一般調整建議,請參閱「 最佳化及監控 PostgreSQL 的 VACUUM 作業,並進行疑難排解」。 |
| 臨時儲存空間增加了自動儲存空間。 | 已啟用自動儲存空間。
重新啟動會刪除暫存檔案,但不會減少儲存空間。只有 客戶服務可以重設執行個體大小。 |
| 資料會自動刪除。 | 環境中可能有指令碼正在執行。
查看刪除時間前後的記錄,看看是否有惡意指令碼從資訊主頁或其他自動化程序執行。 |
| 無法刪除執行個體。 | 您可能會看到錯誤訊息 ERROR: (gcloud.sql.instances.delete) HTTP Error
409: The instance or operation is not in an appropriate state to handle the
request,或執行個體可能處於 INSTANCE_RISKY_FLAG_CONFIG 標記狀態。可能原因包括:
|
| 暫存資料過大,導致執行個體卡住。 | 系統可以一次建立多個臨時資料表,具體取決於查詢和負載。 很抱歉,除了重新啟動服務外,您無法透過任何其他方法縮減 其中一個緩解方法是使用 |
| 升級時發生嚴重錯誤。 | 記錄檔可能會顯示更多資訊,但無論如何,您可能需要客戶服務協助,才能強制重新建立執行個體。 |
| 磁碟空間用盡後,執行個體卡在重新啟動狀態。 | 未啟用自動增加儲存空間功能。
如果執行個體的儲存空間用盡,且未啟用自動增加儲存空間功能,執行個體就會離線。如要避免這個問題,您可以 編輯執行個體,啟用自動增加儲存空間功能。 |
| 地端部署主要執行個體卡住。 | Google Cloud 無法協助處理非 Cloud SQL 執行個體。 |
| 重新啟動時關機速度緩慢。 | 執行個體關閉時,如果任何未完成的連線未在 60 秒內結束,就會導致關閉程序不正常。 只要連線時間不超過 60 秒,就能避免大多數不正常關機的情況,包括來自資料庫命令提示字元的連線。如果這些連線持續開啟數小時或數天,關閉作業可能不夠乾淨。 |
| 無法刪除使用者。 | 使用者可能在資料庫中擁有依附於該使用者的物件。您必須捨棄這些物件,或將其重新指派給其他使用者。 找出哪些物件依附於該使用者,然後捨棄這些物件或將其重新指派給其他使用者。 Stack Exchange 上的這串討論說明如何找出使用者擁有的物件。 |
| 特定查詢的執行速度緩慢。 | 查詢速度緩慢的原因有很多,大多與特定資料庫層面有關。可能涉及 Cloud SQL 的原因之一是網路延遲,也就是來源 (寫入器或讀取器) 資源和目的地 (Cloud SQL) 資源位於不同區域。 請特別參閱 一般成效提示。 如果資料庫插入、更新或刪除作業速度緩慢,請考慮採取下列行動:
如要縮短延遲時間,建議將來源和目的地資源放在相同區域。 |
| 系統指出記憶體不足,但監控圖表並未顯示。 | 執行個體可能會失敗並回報 Out of memory,但 Google Cloud 控制台或 Cloud Monitoring 圖表似乎顯示仍有剩餘記憶體。除了工作負載之外,還有其他因素會影響記憶體用量,例如有效連線數量和內部負擔程序。監控圖表不一定會反映這些情況。 請確認執行個體有足夠的額外資源,可處理工作負載和一些額外工作。 |
| 復原已刪除的執行個體。 | 刪除執行個體後,執行個體上的所有資料 (包括備份) 都會永久遺失。 如要保留資料,請先 將資料匯出至 Cloud Storage,再 刪除執行個體。 Cloud SQL 管理員角色具備刪除執行個體的權限。為避免意外刪除,請只在必要時授予這個角色。 |
| 您想重新命名現有的 Cloud SQL 執行個體。 | 不支援重新命名現有執行個體。 您可以透過其他方式建立新執行個體,達成目標。
無論是哪一種情況,您都可以在作業完成後刪除舊執行個體。建議您採用複製路徑,因為這不會影響效能,也不需要重新設定任何執行個體設定,例如旗標、機器類型、儲存空間大小和記憶體。 |
| 刪除執行個體時發生錯誤。 | 如果執行個體已啟用防刪除功能,請確認您要刪除執行個體。接著,請先 停用防刪除功能,再刪除執行個體。 |
錯誤訊息:429 Too Many Requests (rateLimitExceeded)。 |
如果應用程式或服務帳戶超過 Cloud SQL Admin API 的每位使用者頻率配額,您可能會收到 HTTP 429 Too Many Requests 錯誤,原因為 rateLimitExceeded。由於頻率配額是依每分鐘、每位使用者和每個區域強制執行,因此 Google Cloud 控制台「Cloud Quotas」頁面上的專案層級配額指標匯總資料,可能不會顯示配額用盡。如要診斷哪個使用者或服務帳戶耗盡每位使用者的頻率限制,請按照下列步驟操作:
如要解決錯誤,請在應用程式中實作用戶端快取或指數輪詢、將工作負載分配到不同的服務帳戶,或要求調整配額。詳情請參閱「排解頻率限制錯誤」。 |
Private Service Connect
| 問題 | 疑難排解 |
|---|---|
| 執行個體的服務連結不接受 Private Service Connect 端點。 |
|
ERROR: (gcloud.compute.forwarding-rules.create) Could not fetch resource: The resource 'projects/PROJECT_ID/regions/REGION/subnetworks/SUBNET_NAME' was not found |
為 Private Service Connect 端點保留靜態內部 IP 位址時,可能會出現這則錯誤訊息。請確認指定的子網路存在於 URI 指定的專案中。如要在服務專案中建立端點,但使用 Shared VPC 網路的子網路,則須透過 URI 指定子網路,並在 URI 中使用主專案的專案 ID。詳情請參閱「手動建立端點」。 |
ERROR: (gcloud.compute.forwarding-rules.create) Could not fetch resource:
- The resource 'projects/PROJECT_ID/global/networks/NETWORK_NAME' was not found |
手動建立 Private Service Connect 端點時,可能會出現這則錯誤訊息。請確認指定的網路存在於 URI 指定的專案中。如要在服務專案中建立端點,但使用 Shared VPC 網路,則必須透過 URI 指定網路,並在 URI 中使用主專案的專案 ID。詳情請參閱「手動建立端點」。 |
Invalid consumer network status for PSC auto connection。 |
消費者網路未正確設定或完全未設定,因此沒有可連線的端點。如要連線至端點,請先檢查端點狀態並修正錯誤,再嘗試連線。
|
No permission to create a service connection policy。 |
您沒有必要權限,無法建立服務連線政策。如要建立服務連線政策,您必須具備 |
| 使用 Private Service Connect 傳出連線時,網路連結無法接受來自 Private Service Connect 介面的連線。 |
如果外部網路無法接受來自 Private Service Connect 介面的連線,表示網路連結的連線政策可能設定有誤。 使用下列指令,驗證網路連結中接受的連線: gcloud compute network-attachments describe default --region=REGION_ID |
複製
| 問題 | 疑難排解 |
|---|---|
| 唯讀副本建立後未開始複製。 | 記錄檔中可能會有更具體的錯誤。 在 Cloud Logging 中檢查記錄,找出實際錯誤。 |
| 無法建立唯讀副本 - invalidFlagValue 錯誤。 | 要求中的其中一個標記無效。這可能是您明確提供的旗標,也可能是設為預設值的旗標。 首先,請確認 如果 |
| 無法建立唯讀副本,發生不明錯誤。 | 記錄檔中可能會有更具體的錯誤。
在 Cloud Logging 中檢查記錄,找出實際錯誤。 如果錯誤為 |
| 磁碟已滿。 | 建立副本時,主要執行個體磁碟空間可能會用盡。 編輯主要執行個體,升級至較大的磁碟。 |
| 磁碟空間大幅增加。 | 如果運算單元未主動用於追蹤資料,PostgreSQL 會無限期保留 WAL 區隔,導致磁碟空間無限期增加。如果您使用 Cloud SQL 的邏輯複製和解碼功能,系統會自動建立及捨棄複製槽。如要偵測未使用的複製槽,可以查詢 pg_replication_slots 系統檢視表,並篩選 active 欄。您可以使用 pg_drop_replication_slot 指令捨棄未使用的運算單元,藉此移除 WAL 區隔。 |
| 副本執行個體耗用過多記憶體。 | 副本會使用暫存記憶體快取經常要求的讀取作業,因此使用的記憶體可能比主要執行個體多。 重新啟動副本執行個體,回收暫存記憶體空間。 |
| 複製作業已停止。 | 已達儲存空間上限,且未啟用自動增加儲存空間功能。
編輯執行個體,啟用 |
| 複製作業延遲時間持續偏高。 | 寫入負載過高,副本無法處理。如果副本上的 SQL 執行緒無法跟上 IO 執行緒,就會發生複製延遲。某些類型的查詢或工作負載可能會導致特定結構定義暫時或永久出現高複製延遲。複製延遲的常見原因如下:
可能的解決方案包括:
|
| 在 PostgreSQL 9.6 中重建索引時發生錯誤。 | 您收到 PostgreSQL 錯誤,指出需要重建特定索引。這項操作只能在主要執行個體上執行。如果建立新的副本執行個體,很快就會再次收到相同的錯誤。在 10 以下的 PostgreSQL 版本中,雜湊索引不會傳播至副本。 如果必須使用雜湊索引,請升級至 PostgreSQL 10 以上版本。否則,如果您也想使用副本,請勿在 PostgreSQL 9.6 中使用雜湊索引。 |
| 主要執行個體上的查詢會持續執行。 | 建立副本後,查詢 SELECT * from pg_stat_activity where state = 'active' and pid = XXXX and username = 'cloudsqlreplica' 應會在主要執行個體上持續執行。
|
| 副本建立作業逾時失敗。 | 如果主要執行個體上有長時間執行的未修訂交易,可能會導致唯讀副本建立失敗。 停止所有執行中的查詢,然後重新建立副本。 |
| 如果主要執行個體和副本的 vCPU 大小不同,查詢最佳化工具會將 vCPU 大小納入考量,因此可能會發生查詢效能問題。 |
如要解決這個問題,請完成下列步驟:
如果這是特定查詢,請修改查詢。舉例來說,您可以變更彙整順序,看看是否能提升效能。 |