Aurora DSQL 問題故障診斷 - Amazon Aurora DSQL

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

Aurora DSQL 問題故障診斷

注意

下列主題提供在使用 Aurora DSQL 時,針對可能發生的錯誤與問題之故障排除建議。若您發現此處未列出的問題,請聯絡 AWS 支援團隊。

連線錯誤故障排除

錯誤:無法辨識的 SSL 錯誤代碼:6 無法接受連線,未收到 SNI

您可能使用的 psql 版本早於 14 版,不支援伺服器名稱指示 (SNI)。連線至 Aurora DSQL 時必須啟用 SNI。

您可以使用 psql --version 檢查用戶端版本。

錯誤:NetworkUnreachable

連線嘗試期間出現的 NetworkUnreachable 錯誤可能表示您的用戶端不支援 IPv6 連線,而非真正的網路問題。此錯誤通常發生於僅支援 IPv4 的執行個體,原因在於 PostgreSQL 用戶端處理雙堆疊連線的方式。當伺服器支援雙堆疊模式時,用戶端會先將主機名稱解析為 IPv4 與 IPv6 位址。用戶端會先嘗試 IPv4 連線,若初始連線失敗再改用 IPv6。若系統不支援 IPv6,畫面將顯示一般性 NetworkUnreachable 錯誤,而非明確的「IPv6 不支援」訊息。

身分驗證錯誤故障排除

使用者 "..." 的 IAM 身分驗證失敗

產生 Aurora DSQL IAM 驗證權杖時,可設定的最長有效期為 1 週。一週後,該權杖將失效,無法再用於身分驗證。

此外,若您所假設的角色已過期,Aurora DSQL 將拒絕您的連線請求。例如,即使驗證權杖仍有效,若您使用臨時 IAM 角色嘗試連線,Aurora DSQL 仍會拒絕請求。

若要深入了解 IAM 與 Aurora DSQL 的整合機制,請參閱了解 Aurora DSQL 的身分驗證與授權Aurora DSQL 中的AWS Identity and Access Management

呼叫 GetObject 操作時發生錯誤 (InvalidAccessKeyId):您提供的 AWS 存取金鑰 ID 不存在於我們的記錄中

IAM 拒絕了您的請求。如需詳細資訊,請參閱為什麼要簽署請求

IAM 角色 <role> 不存在

Aurora DSQL 找不到您的 IAM 角色。如需詳細資訊,請參閱 IAM 角色

IAM 角色必須符合 IAM ARN 格式

如需詳細資訊,請參閱 IAM 識別碼 - IAM ARN

授權錯誤故障排除

角色 <role> 不受支援

Aurora DSQL 不支援 GRANT 操作。請參閱 Aurora DSQL 中支援的 PostgreSQL 指令子集

無法使用角色 <role> 建立信任

Aurora DSQL 不支援 GRANT 操作。請參閱 Aurora DSQL 中支援的 PostgreSQL 指令子集

角色 <role> 不存在

Aurora DSQL 找不到指定的資料庫使用者帳號。請參閱授權自訂資料庫角色以連線至叢集

錯誤:拒絕以角色 <role> 授予 IAM 信任的權限

若要授與資料庫角色存取權限,您必須以管理員角色連線至叢集。若要進一步了解,請參閱授權資料庫角色以在資料庫中使用 SQL

錯誤:角色 <role> 必須具有 LOGIN 屬性

您建立的任何資料庫角色都必須具有 LOGIN 權限。

若要解決此錯誤,請確定您已建立具備 LOGIN 權限的 PostgreSQL 角色。如需詳細資訊,請參閱 PostgreSQL 文件中的 CREATE ROLEALTER ROLE

錯誤:無法刪除角色 <role>,因為部分物件仍依賴該角色

如果您刪除具有 IAM 關聯的資料庫角色,Aurora DSQL 會傳回錯誤,直到您使用 AWS IAM REVOKE 撤銷關聯為止。若要深入了解,請參閱撤銷授權

SQL 錯誤疑難排解

錯誤:不支援的查詢

Aurora DSQL 並未支援所有以 PostgreSQL 為基礎的方言。若要了解支援項目,請參閱 Aurora DSQL 所支援的 PostgreSQL 功能

錯誤:請改用 CREATE INDEX ASYNC 替代

若要在包含現有資料列的資料表上建立索引,您必須使用 CREATE INDEX ASYNC 指令。若要進一步了解,請參閱在 Aurora DSQL 中非同步建立索引

OCC 錯誤疑難排解

OC000「錯誤:變更與另一筆交易發生衝突,請視需要重試」

此交易嘗試修改與另一個並行交易相同的元組。這表示修改後的元組出現爭用。若要進一步了解,請參閱 Aurora DSQL 中的並行控制

OC001「錯誤:結構描述已被另一筆交易更新,請視需要重試」

您的 PostgreSQL 工作階段中含有結構描述目錄的快取副本。該快取副本在載入時是有效的。我們將該時間稱為 T1,版本稱為 V1。

另一筆交易在時間 T2 更新目錄。我們將此版本稱為 V2。

當原始工作階段在時間 T2 嘗試從儲存體讀取資料時,仍使用目錄版本 V1。Aurora DSQL 的儲存層會拒絕該請求,因為時間 T2 的最新目錄版本為 V2。

當您在原始工作階段於時間 T3 重新嘗試時,Aurora DSQL 會更新目錄快取。時間 T3 的交易使用目錄版本 V2。只要自時間 T2 以來未發生其他目錄變更,Aurora DSQL 即可完成該交易。

SSL/TLS 連線疑難排解

SSL 錯誤:憑證驗證失敗

此錯誤表示用戶端無法驗證伺服器憑證的有效性。請確認以下事項:

  1. Amazon 根 CA 1 憑證已正確安裝。如需驗證與安裝此憑證的相關步驟,請參閱 為 Aurora DSQL 連線設定 SSL/TLS 憑證

  2. PGSSLROOTCERT 環境變數應指向正確的憑證檔案。

  3. 憑證檔案已設定正確的權限。

無法識別的 SSL 錯誤碼:6

PostgreSQL 用戶端版本低於 14 時,會出現此錯誤。將 PostgreSQL 用戶端升級至版本 17 以解決此問題。

SSL 錯誤:未註冊的通訊協定 (Windows)

這是 Windows psql 用戶端在使用系統憑證時的已知問題。請依 從 Windows 進行連線 說明中的指示,使用下載憑證檔案的方法。