本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
使用 PostgreSQL 相容用戶端存取 Aurora DSQL
Aurora DSQL 使用 PostgreSQL 線路通訊協定
| PostgreSQL | Aurora DSQL | 備註 |
|---|---|---|
| 角色 (也稱為使用者或群組) | 資料庫角色 | Aurora DSQL 會為您建立名為 admin 的角色。建立自訂資料庫角色時,您必須使用 admin 角色,將其與 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 產生身分驗證記號。
使用 SQL 用戶端存取 Aurora DSQL
Aurora DSQL 支援多個 PostgreSQL 相容用戶端來連線至您的叢集。下列各節說明如何使用 PostgreSQL 搭配 AWS CloudShell 或本機命令列進行連線,以及 GUI 型工具,例如 DBeaver 和 JetBrains DataGrip。每個用戶端都需要有效的身分驗證字符,如上一節所述。
主題
使用 AWS CloudShell 以 PostgreSQL 互動式終端機 (psql) 存取 Aurora DSQL
使用下列程序,從 使用 PostgreSQL 互動式終端機存取 Aurora DSQL AWS CloudShell。如需詳細資訊,請參閱什麼是 AWS CloudShell 。
使用 連線 AWS CloudShell
-
登入 Aurora DSQL 主控台
。 -
選擇您要在 CloudShell 中開啟的叢集。如果您尚未建立叢集,請遵循 步驟 1:建立 Aurora DSQL 單一區域叢集 或 建立多區域叢集 中的步驟。
-
選擇使用查詢編輯器連線,然後選擇使用 CloudShell 連線。
-
選擇您要以管理員身分或使用自訂資料庫角色來連線。
-
選擇在 CloudShell 中啟動,然後在下列 CloudShell 對話方塊中選擇執行。
使用本機 CLI 透過 PostgreSQL 互動式終端機 (psql) 存取 Aurora DSQL
使用psql終端機型前端至 PostgreSQL 公用程式 ,以互動方式輸入查詢、將查詢發佈至 PostgreSQL,以及檢視查詢結果。
注意
若要提升查詢回應效能,請使用 PostgreSQL 17 版客戶端。如果您在不同的環境中使用 CLI,請務必手動設定 Python 3.8+ 版和 psql 14+ 版。
請從 PostgreSQL Downloadspsql,請參閱 PostgreSQL 網站上的 PostgreSQL 用戶端應用程式
如果您已 AWS CLI 安裝 ,請使用下列範例來連接至您的叢集。
# Aurora DSQL requires a valid IAM token as the password when connecting. # Aurora DSQL provides tools for this and here we're using Python. export PGPASSWORD=$(aws dsql generate-db-connect-admin-auth-token \ --regionus-east-1\ --expires-in 3600 \ --hostnameyour_cluster_endpoint) # Aurora DSQL requires SSL and will reject your connection without it. export PGSSLMODE=require # Connect with psql, which automatically uses the values set in PGPASSWORD and PGSSLMODE. # Quiet mode suppresses unnecessary warnings and chatty responses but still outputs errors. psql --quiet \ --username admin \ --dbname postgres \ --hostyour_cluster_endpoint
使用 DBeaver 存取 Aurora DSQL
DBeaver 是一款以圖形介面 (GUI) 為基礎的開放原始碼資料庫管理工具。您可使用它連線並管理您的資料庫。若要下載 DBeaver,請參閱 DBeaver 社群網站上的下載頁面
使用下列程序,使用 DBeaver 連線至您的叢集。
在 DBeaver 中設定新的 Aurora DSQL 連線
-
選擇新資料庫連線。
-
在新資料庫連線視窗中,選擇 PostgreSQL。
-
在連線設定/主要索引標籤中,選擇依:主機連線,然後輸入下列資訊:
-
主機 – 使用叢集端點。
資料庫 – 輸入
postgres身分驗證 – 選擇
Database Native使用者名稱 – 輸入
admin密碼 – 產生身分驗證權杖。複製產生的權杖並將其作為密碼使用。
-
-
忽略任何警告,將身分驗證權杖貼到 DBeaver 密碼欄位中。
注意
必須在用戶端連線中設定 SSL 模式。Aurora DSQL 支援
PGSSLMODE=require and PGSSLMODE=verify-full。Aurora DSQL 在伺服器端強制啟用 SSL 通訊,並拒絕非 SSL 連線。對於verify-full選項,您需要在本機安裝 SSL 憑證。如需詳細資訊,請參閱 SSL/TLS 憑證。 -
您應該連接到叢集,並且可以開始執行 SQL 陳述式。
重要
DBeaver 為 PostgreSQL 資料庫 (例如 Session Manager 和 Lock Manager) 所提供的管理功能,因架構特殊而不適用於此資料庫。雖可開啟這些畫面,但其中資訊無法可靠反映資料庫健康狀況或運行狀態。
使用 JetBrains DataGrip 存取 Aurora DSQL
JetBrains DataGrip 是一款跨平台的 IDE,可用於處理 SQL 與各類資料庫 (包含 PostgreSQL)。DataGrip 提供功能強大的圖形介面 (GUI),並內建智慧型 SQL 編輯器。若要下載 DataGrip,請前往 JetBrains 網站上的下載頁面
在 JetBrains DataGrip 中設定新的 Aurora DSQL 連線
-
選擇新增資料來源,然後選擇 PostgreSQL。
-
在資料來源/一般索引標籤中,輸入下列資訊:
-
主機 – 使用叢集端點。
連接埠 – Aurora DSQL 使用 PostgreSQL 預設:
5432資料庫 – Aurora DSQL 使用 PostgreSQL 預設值
postgres身分驗證 – 選擇
User & Password。使用者名稱 – 輸入
admin。密碼 – 產生權杖並將其貼入此欄位。
URL – 請勿修改此欄位。系統會根據其他欄位自動填入此值。
-
-
密碼 – 透過產生驗證權杖填入此欄位。複製權杖產生器的輸出結果,並貼入密碼欄位。
注意
必須在用戶端連線中設定 SSL 模式。Aurora DSQL 支援
PGSSLMODE=require and PGSSLMODE=verify-full。Aurora DSQL 在伺服器端強制啟用 SSL 通訊,並拒絕非 SSL 連線。對於verify-full選項,您需要在本機安裝 SSL 憑證。如需詳細資訊,請參閱 SSL/TLS 憑證。 -
成功連線至叢集後,即可執行 SQL 陳述式:
重要
DataGrip 為 PostgreSQL 資料庫提供的部分檢視 (如「工作階段」) 因 Aurora DSQL 的獨特架構而不適用。雖可開啟這些畫面,但其資訊不代表實際的資料庫連線工作階段。
疑難排解
SQL 用戶端的身分驗證憑證過期
已建立的工作階段將保持驗證狀態,最長 1 小時,或直到明確中斷連線或用戶端逾時。如果需要建立新的連線,則必須在連線的密碼欄位中產生並提供新的身分驗證字符。嘗試開啟新工作階段 (例如列出新資料表或開啟新的 SQL 主控台) 時,系統會強制重新驗證。若連線設定中的驗證權杖已失效,則新工作階段將建立失敗,且所有先前開啟的工作階段皆會失效。使用 選項選擇 IAM 身分驗證字符的持續時間時,請記住這一點,該expires-in選項可預設為 15 分鐘,並可設定為七天的最大值。
此外,請參閱 Aurora DSQL 文件的故障診斷一節。