使用 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 身分驗證字符來取代傳統密碼。這些臨時字符是使用 AWSSignature 第 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 DSQLAWS 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 是通用 SQL 用戶端,可用於管理具有 JDBC 驅動程式的任何資料庫。它在開發人員和資料庫管理員之間廣泛使用,因為其強大的資料檢視、編輯和管理功能。使用 DBeaver 的雲端連線選項,您可以將 DBeaver 原生連線至 Aurora DSQL。

DBeaver PRO 產品 (DBeaver UltimateDBeaver TeamCloudBeaver EnterpriseCloudBeaver AWS) 透過專用 Aurora DSQL 連線類型,以及透過 Cloud Explorer 提供自 25.3 版起的 Aurora DSQL 原生整合,提供順暢的身分驗證體驗。

如果您使用的是不同的 DBeaver 版本,包括免費和開放原始碼版本的 DBeaver Community Edition,請造訪下載頁面以取得安裝指示。使用下列程序連線至您的叢集。

在 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 for PostgreSQL 資料庫 (例如 Session ManagerLock Manager) 提供的管理功能不適用於 Aurora DSQL 資料庫,因為其唯一的架構。可存取時,這些畫面不會提供有關資料庫運作狀態或狀態的可靠資訊。

使用 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 for PostgreSQL 資料庫 (例如工作階段) 提供的某些檢視不適用於 Aurora DSQL 資料庫,因為它們是唯一的架構。可存取時,這些畫面不會提供有關連線到資料庫之實際工作階段的可靠資訊。

疑難排解

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

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

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