使用 PostgreSQL 相容用戶端存取 Aurora DSQL - Amazon Aurora DSQL

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

使用 PostgreSQL 相容用戶端存取 Aurora DSQL

Aurora DSQL 使用 PostgreSQL 線路通訊協定。您可以使用各種工具和用戶端連線至 PostgreSQL,例如 AWS CloudShell、psql、DBeaver 和 DataGrip。下表摘要說明 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
  1. 登入 Aurora DSQL 主控台

  2. 選擇您要在 CloudShell 中開啟的叢集。如果您尚未建立叢集,請遵循 步驟 1:建立 Aurora DSQL 單一區域叢集建立多區域叢集 中的步驟。

  3. 選擇使用查詢編輯器連線,然後選擇使用 CloudShell 連線

  4. 選擇您要以管理員身分或使用自訂資料庫角色來連線。

  5. 選擇在 CloudShell 中啟動,然後在下列 CloudShell 對話方塊中選擇執行

使用本機 CLI 透過 PostgreSQL 互動式終端機 (psql) 存取 Aurora DSQL

使用psql終端機型前端至 PostgreSQL 公用程式 ,以互動方式輸入查詢、將查詢發佈至 PostgreSQL,以及檢視查詢結果。

注意

若要提升查詢回應效能,請使用 PostgreSQL 17 版客戶端。如果您在不同的環境中使用 CLI,請務必手動設定 Python 3.8+ 版和 psql 14+ 版。

請從 PostgreSQL Downloads 頁面下載適用於您作業系統的安裝程式。如需 的詳細資訊psql,請參閱 PostgreSQL 網站上的 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 \ --region us-east-1 \ --expires-in 3600 \ --hostname your_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 \ --host your_cluster_endpoint

使用 DBeaver 存取 Aurora DSQL

DBeaver 是一款以圖形介面 (GUI) 為基礎的開放原始碼資料庫管理工具。您可使用它連線並管理您的資料庫。若要下載 DBeaver,請參閱 DBeaver 社群網站上的下載頁面

使用下列程序,使用 DBeaver 連線至您的叢集。

在 DBeaver 中設定新的 Aurora DSQL 連線
  1. 選擇新資料庫連線

  2. 新資料庫連線視窗中,選擇 PostgreSQL。

  3. 連線設定/主要索引標籤中,選擇依:主機連線,然後輸入下列資訊:

    1. 主機 – 使用叢集端點。

      資料庫 – 輸入 postgres

      身分驗證 – 選擇 Database Native

      使用者名稱 – 輸入 admin

      密碼 – 產生身分驗證權杖。複製產生的權杖並將其作為密碼使用。

  4. 忽略任何警告,將身分驗證權杖貼到 DBeaver 密碼欄位中。

    注意

    必須在用戶端連線中設定 SSL 模式。Aurora DSQL 支援 PGSSLMODE=require and PGSSLMODE=verify-full。Aurora DSQL 在伺服器端強制啟用 SSL 通訊,並拒絕非 SSL 連線。對於 verify-full選項,您需要在本機安裝 SSL 憑證。如需詳細資訊,請參閱 SSL/TLS 憑證

  5. 您應該連接到叢集,並且可以開始執行 SQL 陳述式。

重要

DBeaver 為 PostgreSQL 資料庫 (例如 Session ManagerLock Manager) 所提供的管理功能,因架構特殊而不適用於此資料庫。雖可開啟這些畫面,但其中資訊無法可靠反映資料庫健康狀況或運行狀態。

使用 JetBrains DataGrip 存取 Aurora DSQL

JetBrains DataGrip 是一款跨平台的 IDE,可用於處理 SQL 與各類資料庫 (包含 PostgreSQL)。DataGrip 提供功能強大的圖形介面 (GUI),並內建智慧型 SQL 編輯器。若要下載 DataGrip,請前往 JetBrains 網站上的下載頁面

在 JetBrains DataGrip 中設定新的 Aurora DSQL 連線
  1. 選擇新增資料來源,然後選擇 PostgreSQL。

  2. 資料來源/一般索引標籤中,輸入下列資訊:

    1. 主機 – 使用叢集端點。

      連接埠 – Aurora DSQL 使用 PostgreSQL 預設:5432

      資料庫 – Aurora DSQL 使用 PostgreSQL 預設值 postgres

      身分驗證 – 選擇 User & Password

      使用者名稱 – 輸入 admin

      密碼 產生權杖並將其貼入此欄位。

      URL – 請勿修改此欄位。系統會根據其他欄位自動填入此值。

  3. 密碼 – 透過產生驗證權杖填入此欄位。複製權杖產生器的輸出結果,並貼入密碼欄位。

    注意

    必須在用戶端連線中設定 SSL 模式。Aurora DSQL 支援 PGSSLMODE=require and PGSSLMODE=verify-full。Aurora DSQL 在伺服器端強制啟用 SSL 通訊,並拒絕非 SSL 連線。對於 verify-full選項,您需要在本機安裝 SSL 憑證。如需詳細資訊,請參閱 SSL/TLS 憑證

  4. 成功連線至叢集後,即可執行 SQL 陳述式:

重要

DataGrip 為 PostgreSQL 資料庫提供的部分檢視 (如「工作階段」) 因 Aurora DSQL 的獨特架構而不適用。雖可開啟這些畫面,但其資訊不代表實際的資料庫連線工作階段。

疑難排解

SQL 用戶端的身分驗證憑證過期

已建立的工作階段將保持驗證狀態,最長 1 小時,或直到明確中斷連線或用戶端逾時。如果需要建立新的連線,則必須在連線的密碼欄位中產生並提供新的身分驗證字符。嘗試開啟新工作階段 (例如列出新資料表或開啟新的 SQL 主控台) 時,系統會強制重新驗證。若連線設定中的驗證權杖已失效,則新工作階段將建立失敗,且所有先前開啟的工作階段皆會失效。使用 選項選擇 IAM 身分驗證字符的持續時間時,請記住這一點,該expires-in選項可預設為 15 分鐘,並可設定為七天的最大值。

此外,請參閱 Aurora DSQL 文件的故障診斷一節。