本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
使用 PostgreSQL 相容用戶端存取 Aurora DSQL
Aurora DSQL 使用 PostgreSQL 線路通訊協定
| PostgreSQL | Aurora DSQL | 備註 |
|---|---|---|
| 角色 (也稱為使用者或群組) | 資料庫角色 | Aurora DSQL 會為您建立名為 admin 的角色。建立自訂資料庫角色時,您必須使用 admin 角色,將其與 IAM 角色關聯,以便在連線至叢集時進行身分驗證。如需詳細資訊,請參閱使用資料庫角色和 IAM 身分驗證。 |
| 主機 (也稱為主機名稱或 hostspec) | 叢集端點 | Aurora DSQL 單一區域叢集提供單一受管理端點,若該區域內發生無法使用的情況,系統會自動重新導向流量。 |
| 站點 | 不適用 – 使用預設 5432 |
這是 PostgreSQL 的預設值。 |
| 資料庫 (dbname) | 使用 postgres |
當您建立叢集時,Aurora DSQL 會自動建立此資料庫。 |
| SSL 模式 | SSL 一律在伺服器端啟用 | 在 Aurora DSQL 中,系統支援 require SSL 模式。Aurora DSQL 會拒絕未使用 SSL 的連線。 |
| 密碼 | 身分驗證權杖 | Aurora DSQL 使用暫時性身分驗證權杖,而非長期密碼。如需詳細資訊,請參閱 在 Amazon Aurora DSQL 產生身分驗證記號。 |
連線時,Aurora DSQL 需要簽章的 IAM 身分驗證字符來取代傳統密碼。這些臨時字符是使用 AWS Signature 第 4 版產生,並且僅在建立連線時使用。連線後,工作階段會保持作用中狀態,直到結束或用戶端中斷連線為止。
如果您嘗試使用過期的權杖開啟新的工作階段,連線請求會失敗,而且必須產生新的權杖。如需詳細資訊,請參閱在 Amazon Aurora DSQL 產生身分驗證記號。
支援的工作階段參數
Aurora DSQL 會自動最佳化儲存、連線管理和交易處理,因此支援一組集中的工作階段參數。Aurora DSQL 接受下表所列的參數。此集以外的參數會傳回下列錯誤:
ERROR: setting configuration parameter "parameter_name" not supported
Aurora DSQL 支援下列 PostgreSQL 工作階段參數。除非另有說明,否則您可以使用 SET、 SET SESSION或 將其設定為連線字串選項。您也可以使用 SET LOCAL 在單一交易期間設定任何這些參數。使用 RESET將參數還原為其預設值。
| 參數 | 類別 | 描述 |
|---|---|---|
application_name |
用戶端識別 | 設定連線中繼資料中報告的應用程式名稱。用於識別監控中的連線。 |
client_encoding |
當地語系化 | 設定用戶端字元編碼。資料庫會在內部使用 UTF-8。 |
datestyle |
輸出格式 | 設定日期和時間值的顯示格式 (例如,ISO, MDY)。 |
extra_float_digits |
輸出格式 | 設定針對浮點值顯示的位數。有些驅動程式,例如 JDBC,請使用此參數。 |
intervalstyle |
輸出格式 | 設定間隔值的顯示格式。 |
timezone |
當地語系化 | 設定工作階段的時區。Aurora DSQL 會將所有時區感知日期和時間儲存在 UTC 內部。此參數控制 Aurora DSQL 如何向用戶端顯示值。 |
search_path |
結構描述解析 | 設定不合格物件名稱的結構描述搜尋順序。 |
enable_bitmapscan |
查詢規劃器 | 啟用或停用查詢規劃器對點陣圖掃描計劃類型的使用。 |
enable_hashjoin |
查詢規劃器 | 啟用或停用查詢規劃器對加入雜湊計劃類型的使用。 |
enable_indexonlyscan |
查詢規劃器 | 啟用或停用查詢規劃器對index-only-scan計劃類型的使用。 |
enable_indexscan |
查詢規劃器 | 啟用或停用查詢規劃器對索引掃描計劃類型的使用。 |
enable_material |
查詢規劃器 | 啟用或停用查詢規劃器對具體化的使用。 |
enable_mergejoin |
查詢規劃器 | 啟用或停用查詢規劃器對合併加入計劃類型的使用。 |
enable_nestloop |
查詢規劃器 | 啟用或停用查詢規劃器對巢狀迴圈聯結計劃的使用。 |
enable_seqscan |
查詢規劃器 | 啟用或停用查詢規劃器對循序掃描計劃類型的使用。 |
disable_sync_create_index |
Aurora DSQL 特定 | 控制 是否以非同步方式CREATE INDEX執行。預設為 on,這表示 Aurora DSQL 會以非同步方式建立索引。設定為 off以在空白資料表上同步建立索引。 |
role |
工作階段身分 | 設定目前角色。在 Aurora DSQL 中,您只能在交易區塊SET LOCAL中使用 設定此參數。 |
Aurora DSQL 會自動管理資料庫的下列層面,因此您不需要設定對應的 PostgreSQL 工作階段參數:
-
連線和網路參數 – Aurora DSQL 會在內部管理連線生命週期和 TCP 設定,包括
tcp_keepalives_idle、tcp_keepalives_interval和tcp_keepalives_count。 -
記憶體和資源參數 – Aurora DSQL 會自動管理記憶體配置,包括
work_mem和shared_buffers。 -
逾時參數 – Aurora DSQL 會強制執行自己的交易持續時間限制,包括
statement_timeout、lock_timeout和idle_in_transaction_session_timeout。 -
複寫和 WAL 參數 – Aurora DSQL 透過其內建的多區域架構自動處理複寫,包括
wal_level和synchronous_commit。 -
記錄參數 – Aurora DSQL 會在內部管理記錄,包括
log_statement和client_min_messages。 -
交易參數 – Aurora DSQL 對所有交易使用固定
REPEATABLE READ隔離層級。如果您的驅動程式需要指定隔離層級,請使用BEGIN ISOLATION LEVEL REPEATABLE READ。
使用 SQL 用戶端存取 Aurora DSQL
Aurora DSQL 支援多個 PostgreSQL 相容用戶端來連線至您的叢集。下列各節說明如何使用 PostgreSQL 搭配 AWS CloudShell 或本機命令列進行連線,以及 GUI 型工具,例如 DBeaver 和 JetBrains DataGrip。每個用戶端都需要有效的身分驗證字符,如上一節所述。
主題
疑難排解
SQL 用戶端的身分驗證憑證過期
已建立的工作階段將保持驗證狀態,最長 1 小時,或直到明確中斷連線或用戶端逾時。如果需要建立新的連線,則必須在連線的密碼欄位中產生並提供新的身分驗證字符。嘗試開啟新的工作階段 (例如,列出新的資料表或開啟新的 SQL 主控台) 會強制新的身分驗證嘗試。若連線設定中的驗證權杖已失效,則新工作階段將建立失敗,且所有先前開啟的工作階段皆會失效。使用 expires-in選項選擇 IAM 身分驗證字符的持續時間時,請記住這一點,該選項預設為 15 分鐘,並可設定為七天的最大值。
此外,請參閱 Aurora DSQL 文件的故障診斷一節。