Amazon RDS for PostgreSQL - Amazon Relational Database Service

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

Amazon RDS for PostgreSQL

Amazon RDS 支援執行幾個 PostgreSQL 版本的資料庫執行個體。如需可用版本的清單,請參閱 可用的 PostgreSQL 資料庫版本

注意

排定於 2022 年 4 月 26 日棄用 PostgreSQL 9.6。如需詳細資訊,請參閱 棄用 PostgreSQL 9.6 版

您可以建立資料庫執行個體和資料庫快照、 point-in-time 還原和備份。執行 PostgreSQL 的資料庫執行個體支援多可用區域部署、僅供讀取複本、佈建 IOPS,且可以在 Virtual Private Cloud (VPC) 內建立。您也可以使用 Secure Sockets Layer (SSL) 來連線至執行 PostgreSQL 的資料庫執行個體。

建立資料庫執行個體之前,請務必完成 設定 Amazon RDS 中的步驟。

您可以從用戶端電腦使用任何標準 SQL 用戶端應用程式對執行個體執行命令。此類應用程式包括 pgAdmin (適用於 PostgreSQL 的常見開放原始碼管理和開發工具) 或 psql (隨 PostgreSQL 一併安裝的命令列公用程式)。為了提供受管理的服務體驗,Amazon RDS 並不會提供資料庫執行個體的主機存取權。此外,其也會將存取權限制在某些需要進階權限的系統程序和資料表。Amazon RDS 可支援使用任何標準 SQL 用戶端應用程式存取資料庫執行個體上的資料庫。Amazon RDS 不允許使用者利用 Telnet 或安全殼層 (SSH) 直接託管資料庫執行個體的存取權。

Amazon RDS for PostgreSQL 符合多項業界標準。舉例來說,您可以使用 Amazon RDS for PostgreSQL 資料庫來建置符合 HIPAA 規範的應用程式並存放醫療保健相關資訊。這包括依據與 AWS簽署的完整商業夥伴協議 (BAA) 儲存受保護醫療資訊 (PHI)。Amazon RDS for PostgreSQL 亦符合美國聯邦風險與授權管理計劃 (FedRAMP) 的安全性要求。Amazon RDS for PostgreSQL 已獲得 FedRAMP 聯合授權委員會 (JAB) 臨時授權委員會 (JAB) 在區域內的 FedRAMP 高基準運作授權機構 (P-ATO)。 AWS GovCloud (US) 如需支援的合規標準的詳細資訊,請參閱 AWS 雲端合規

若要將 PostgreSQL 資料匯入資料庫執行個體,請遵循將資料匯入 Amazon RDS 上的 PostgreSQL一節的資訊。

Amazon RDS for PostgreSQL 的常用管理任務

下列是您可在執行 Amazon RDS for PostgreSQL 資料庫執行個體時使用的一般管理任務,並隨附各工作相關說明文件的連結。

以下是本指南中其他章節的列表,這些章節可幫助您了解並使用 RDS for PostgreSQL 的重要功能:

使用資料庫預覽環境

PostgreSQL 社群會持續發佈新的 PostgreSQL 版本和新的延伸模組。包括 Beta 版本。這讓 PostgreSQL 使用者有機會提早嘗試新的 PostgreSQL 版本。若要進一步了解 PostgreSQL 社群 Beta 發行程序,請參閱 PostgreSQL 文件中的 Beta 資訊。同樣地,Amazon RDS 會使某些 PostgreSQL Beta 版本當作預覽版本提供。這可讓您使用預覽版本建立資料庫執行個體,並在資料庫預覽環境中測試其功能。

資料庫預覽環境中的 RDS for PostgreSQL 資料庫執行個體是類似於其他 RDS for PostgreSQL 執行個體的功能。不過,您無法使用預覽版本進行生產。

請謹記下列重要限制:

  • 所有資料庫執行個體在建立後 60 天就會刪除,也會一併刪除任何備份和快照。

  • 您只能在以 Amazon VPC 服務為基礎的 Virtual Private Cloud (VPC) 中建立資料庫執行個體。

  • 您只能使用一般用途 SSD 和佈建 IOPS SSD 儲存裝置。

  • 您無法從資料庫執行個體的 Sup AWS port 取得協助。相反,您可以將您的問題發佈到 AWS受管理的問答社群 AWS R e: post。

  • 您無法將資料庫執行個體的快照複製到生產環境。

預覽版支援下列選項:

  • 您只能使用 M6i、R6i、M6g、M5、T3、R6g 和 R5 執行個體類型建立資料庫執行個體。如需 RDS 執行個體類別的詳細資訊,請參閱 資料庫執行個體類別

  • 您可以同時使用單一可用區和異地同步備份部署。

  • 您可以使用標準 PostgreSQL 傾印和載入函數,從資料庫預覽環境匯出資料庫,或匯入資料庫至資料庫預覽環境。

資料庫預覽環境中不支援的功能

資料庫預覽環境中無法使用下列功能:

  • 跨區域快照複製

  • 跨區域僅供讀取複本

在資料庫預覽環境中建立新的資料庫執行個體

使用下列程序在預覽環境中建立資料庫執行個體。

在資料庫預覽環境中建立資料庫執行個體
  1. 登入 AWS Management Console 並開啟 Amazon RDS 主控台,網址為 https://console.aws.amazon.com/rds/

  2. 從導覽窗格中選擇 Dashboards (儀表板)

  3. 在儀表板頁面中,找出儀表板頁面上的 Database Preview Environment (資料庫預覽環境) 區段,如下圖所示。

    預覽環境區段,其中具有 RDS 主控台 (儀表板) 中顯示的連結

    您可以直接導覽至資料庫預覽環境。在繼續之前,您必須確認並接受限制。

    預覽環境限制對話方塊
  4. 若要建立 RDS for PostgreSQL 資料庫執行個體,請遵循與建立任何 Amazon RDS 資料庫執行個體相同的程序。如需詳細資訊,請參閱 建立資料庫執行個體 中的 主控台 程序。

若要使用 RDS API 或在資料庫預覽環境中建立執行個體 AWS CLI,請使用下列端點。

rds-preview.us-east-2.amazonaws.com

資料庫預覽環境中的第 17 版

這是針對第 17 版 PostgreSQL 預覽文件。內容可能變動。

現在可在 Amazon RDS 資料庫預覽環境中使用 PostgreSQL 第 17 版測試版。第 17 版測試版 1 包含了以下 PostgreSQL 文檔中描述的幾個改進:PostgreSQL 17 測試版 1 已發

如需資料庫預覽環境的資訊,請參閱 使用資料庫預覽環境。若要從主控台存取預覽環境,請選取 https://console.aws.amazon.com/rds-preview/

資料庫預覽環境中的 PostgreSQL 第 16 版

這是 Amazon RDS PostgreSQL 第 16 版的預覽文件。內容可能變動。

注意

RDS for PostgreSQL 16.0 版發行後,資料庫預覽環境中將不再支援 RDS for PostgreSQL 16 RC1、16 Beta 3、16 Beta 2 及 16 Beta 1 版。

PostgreSQL 16.0 版現可在 Amazon RDS 資料庫預覽環境中使用。PostgreSQL 第 16 版包含下列 PostgreSQL 文件中所述的數個改善:

如需資料庫預覽環境的資訊,請參閱 使用資料庫預覽環境。若要從主控台存取預覽環境,請選取 https://console.aws.amazon.com/rds-preview/

可用的 PostgreSQL 資料庫版本

Amazon RDS 支援執行幾個 PostgreSQL 版本的資料庫執行個體。建立新的資料庫執行個體時,您可以指定使用目前可用的任一 PostgreSQL 版本。您可以指定主要版本 (例如 PostgreSQL 14),以及所指定主要版本的任何可用次要版本。若未指定版本,Amazon RDS 會預設使用可用的版本,通常是最新版本。若已指定主要版本,但未指定次要版本,Amazon RDS 會預設使用您指定主要版本的最新次要版本。

若要查看可用版本的清單以及新建立的資料庫執行個體的預設值,請使用describe-db-engine-versions AWS CLI 指令。例如,若要顯示預設 PostgreSQL 引擎版本,請使用下列命令:

aws rds describe-db-engine-versions --default-only --engine postgres

如需有關 Amazon RDS 支援的 PostgreSQL 版本的詳細內容,請參閱 Amazon RDS for PostgreSQL 版本備註

如果您還沒準備好在 RDS 標準支援結束日期之前手動升級到新的主要引擎版本,Amazon RDS 會在 RDS 標準 Support 援結束日期後自動在 Amazon RDS 擴展支援中註冊您的資料庫。然後,您可以繼續執行 RDS 版 PostgreSQL 及更新版本。如需詳細資訊,請參閱 使用 Amazon RDS 延長支援Amazon RDS 定價

棄用 PostgreSQL第 10 版

2023 年 4 月 17 日,Amazon RDS 預計依照下列排程棄用 PostgreSQL第 10 版。我們建議您採取行動,並將在主要版本 10 上執行的 PostgreSQL 資料庫升級至更新版本,例如 PostgreSQL 第 14 版。若要從 10.19 以前的 PostgreSQL 版本升級您的 RDS 主要版本 10 資料庫執行個體,建議您先升級至 10.19 版,再升級至第 14 版。如需詳細資訊,請參閱 升級 Amazon RDS 的 PostgreSQL 資料庫引擎

動作或建議 日期

PostgreSQL 社群打算棄用 PostgreSQL 10,而且在此日期之後不會提供任何安全性修補程式。

2022 年 11 月 10 日

開始將 RDS for PostgreSQL 10 資料庫執行個體升級至更新的主要版本,例如 PostgreSQL 14。雖然您可以繼續還原 PostgreSQL 10 快照並使用第 10 版建立僅供讀取複本,但請留意此棄用時間表中的其他重要日期及其影響。

2023 年 2 月 14 日截止

在此日期之後,您無法使用主要版本 10 從 AWS Management Console 或建立新的 Amazon RDS 執行個體。 AWS CLI

2023 年 2 月 14 日

在此日期之後,Amazon RDS 會自動將 PostgreSQL 10 執行個體升級到第 14 版。如果您還原 PostgreSQL 10 資料庫快照,Amazon RDS 會自動將還原的資料庫升級到 PostgreSQL 14。

2023 年 4 月 17 日

如需有關第 10 版淘汰 PostgreSQL RDS 的詳細資訊,請參閱 [公告]:Re: 貼文中的版本取代。 AWS

棄用 PostgreSQL 9.6 版

2022 年 3 月 31 日,Amazon RDS 預計依照下列排程取代 PostgreSQL 9.6。之前宣佈的日期為 2022 年 1 月 18 日,現將延長至 2022 年 4 月 26 日。您應盡快將所有 PostgreSQL 9.6 資料庫執行個體升級至 PostgreSQL 12 或更新版本。建議您先升級到次要版本 9.6.20 或更新版本,然後直接升級到 PostgreSQL 12,而不是升級到中間的主要版本。如需詳細資訊,請參閱 升級 Amazon RDS 的 PostgreSQL 資料庫引擎

動作或建議 日期

PostgreSQL 社群已終止對 PostgreSQL 9.6 的支援,且不再提供此版本的錯誤修正或安全修補程式。

2021 年 11 月 11 日

請盡快將 RDS for PostgreSQL 9.6 資料庫執行個體升級至 PostgreSQL 12 或更新版本。雖然您可以繼續還原 PostgreSQL 9.6 快照並使用 9.6 版建立僅供讀取複本,但請留意此棄用時間表中的其他重要日期及其影響。

2022 年 3 月 31 日截止

在此日期之後,您無法使用主要版本 9.6 從 AWS Management Console 或建立新的 Amazon RDS 執行個體。 AWS CLI

2022 年 3 月 31 日

在此日期之後,Amazon RDS 會自動將 PostgreSQL 9.6 執行個體升級到 12 版。如果您還原 PostgreSQL 9.6 資料庫快照,Amazon RDS 會自動將還原的資料庫升級到 PostgreSQL 12。

2022 年 4 月 26 日

已取代的版本 Amazon RDS for PostgreSQL

RDS for PostgreSQL 9.5 將於 2021 年 3 月棄用。如需有關 RDS 版本 9.5 淘汰 PostgreSQL 詳細資訊,請參閱從 Amazon RDS for PostgreSQL 9.5 版升級

若要進一步了解 RDS for PostgreSQL 的棄用政策,請參閱 Amazon RDS 常見問答集。如需 PostgreSQL 版本的詳細資訊,請參閱 PostgreSQL 說明文件中的版本控制政策

支援的 PostgreSQL 擴充功能版本

RDS for PostgreSQL 支援許多 PostgreSQL 擴充功能。PostgreSQL 社群有時會將這些稱為模組。擴充功能可以擴充 PostgreSQL 引擎所提供的功能。您可以在該 PostgreSQL 版本的預設資料庫參數群組中找到 Amazon RDS 支援的延伸清單。您也可以使用 psql 來顯示 rds.extensions 參數,即可看到目前的延伸清單,如下列範例所示。

SHOW rds.extensions;
注意

rds.extensions 中使用 psql 參數時,次要版本中新增的參數可能不會正確顯示。

從 RDS for PostgreSQL 13 開始,某些擴充功能可由資料庫使用者安裝,而不是 rds_superuser。這些稱為受信任的擴充功能。如需進一步了解,請參閱PostgreSQL 可信任延伸

特定 RDS for PostgreSQL 版本支援 rds.allowed_extensions 參數。此參數可讓 rds_superuser 限制 RDS for PostgreSQL 資料庫執行個體中安裝的擴充功能。如需詳細資訊,請參閱 限制安裝 PostgreSQL 擴充功能

如需有關 Amazon RDS 支援的 PostgreSQL 擴充功能的詳細清單,請參閱 Amazon RDS for PostgreSQL 版本備註中的 Amazon RDS 上支援的 PostgreSQL 擴充功能

限制安裝 PostgreSQL 擴充功能

您可以限制 PostgreSQL 資料庫執行個體上能安裝哪些擴充功能。依預設,並未設定此參數,因此若使用者具有許可權限,則可新增任何受支援的擴充功能。若要執行這項操作,請將 rds.allowed_extensions 參數設定為逗號分隔的副檔名字串。將擴充功能清單新增至此參數,可明確識別 RDS for PostgreSQL 資料庫執行個體可使用的擴充功能。然後,只有這些擴充功能才能安裝在 PostgreSQL 資料庫執行個體中。

rds.allowed_extensions 參數的預設字串是 '*',這表示可以安裝引擎版本可用的任何擴充功能。變更 rds.allowed_extensions 參數不需要重新啟動資料庫,因為它是動態參數。

PostgreSQL 資料庫執行個體引擎必須是下列其中一個版本,才能使用 rds.allowed_extensions 參數:

  • PostgreSQL 本

  • 第 15 版及所有更高版本

  • PostgreSQL 14 和所有更高的版本

  • PostgreSQL 13.3 和更高的次要版本

  • PostgreSQL 12.7 和更高的次要版本

若要查看允許安裝哪些擴充功能,請使用下列 psql 命令。

postgres=> SHOW rds.allowed_extensions; rds.allowed_extensions ------------------------ *

如果在將其排除於 rds.allowed_extensions 參數清單外之前已經安裝擴充功能,則擴充功能仍然可以正常使用,而且 ALTER EXTENSIONDROP EXTENSION 等命令將繼續運作。但是,在限制擴充功能之後,限制擴充功能的 CREATE EXTENSION 命令將會失敗。

CREATE EXTENSION CASCADE 擴充功能相依性的安裝也會受到限制。必須在 rds.allowed_extensions 中指定擴充功能及其相依性。如果擴充功能相依性安裝失敗,整個 CREATE EXTENSION CASCADE 陳述式將會失敗。

如果 rds.allowed_extensions 參數中未包含擴充功能,您會在嘗試安裝擴充功能時看到下列錯誤。

ERROR: permission denied to create extension "extension-name" HINT: This extension is not specified in "rds.allowed_extensions".

PostgreSQL 可信任延伸

若要安裝大多數 PostgreSQL 延伸,需要 rds_superuser 權限。PostgreSQL 13 推出了可信任擴充功能,這減少了向普通使用者授予 rds_superuser 權限的需求。使用此功能,使用者可以安裝許多延伸 (如果他們具有目前資料庫的 CREATE 權限而不是 rds_superuser 角色)。如需詳細資訊,請參閱 PostgreSQL 文件中的 SQL CREATE EXTENSION 命令。

下面列出了具有目前資料庫 CREATE 權限但不需要 rds_superuser 角色的使用者可以安裝的延伸:

如需有關 Amazon RDS 支援的 PostgreSQL 擴充功能的詳細清單,請參閱 Amazon RDS for PostgreSQL 版本備註中的 Amazon RDS 上支援的 PostgreSQL 擴充功能