本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
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 的常用管理任務
- 使用資料庫預覽環境
- 資料庫預覽環境中的第 17 版
- 資料庫預覽環境中的 PostgreSQL 第 16 版
- 可用的 PostgreSQL 資料庫版本
- 支援的 PostgreSQL 擴充功能版本
- 使用 Amazon RDS for PostgreSQL 支援的 PostgreSQL 功能
- 連線至執行 PostgreSQL 資料庫引擎的資料庫執行個體
- 使用 SSL/TLS 保護連接至 RDS for PostgreSQL 的連線
- 搭配 Amazon RDS for PostgreSQL 使用 Kerberos 身分驗證
- 針對傳出網路存取使用自訂 DNS 伺服器。
- 升級 Amazon RDS 的 PostgreSQL 資料庫引擎
- 升級 PostgreSQL 資料庫快照引擎版本
- 使用 Amazon RDS for PostgreSQL 的僅供讀取複本
- 使用 Amazon RDS Optimized Reads 改善 RDS for PostgreSQL 的查詢效能
- 將資料匯入 Amazon RDS 上的 PostgreSQL
- 將資料從 RDS for PostgreSQL 資料庫執行個體匯出至 Amazon S3
- 從 叫用 AWS Lambda 函數
- Amazon RDS for PostgreSQL 的常用 DBA 任務
- 調校 RDS for PostgreSQL 的等待事件
- 使用 Amazon DevOps Guru 主動洞察,調校 RDS for PostgreSQL
- 搭配 Amazon RDS for PostgreSQL 使用 PostgreSQL 擴充功能
- 使用 Amazon RDS for PostgreSQL 支援的外部資料包裝函式
- 使用適用於 PostgreSQL 的受信任語言延伸模組
Amazon RDS for PostgreSQL 的常用管理任務
下列是您可在執行 Amazon RDS for PostgreSQL 資料庫執行個體時使用的一般管理任務,並隨附各工作相關說明文件的連結。
任務區域 | 相關文件 |
---|---|
Amazon RDS 首次使用設定 在建立資料庫執行個體前,請務必完成一些先決條件。例如,根據預設,建立資料庫執行個體時也包含可防止存取的防火牆。您需要以正確的 IP 地址和網路組態建立安全群組,才能存取資料庫執行個體。 |
|
Understanding Amazon RDS DB instances (認識 &RDS; 資料庫執行個體) 如果您要針對生產用途建立資料庫執行個體,您應該了解執行個體類別、儲存體類型和佈建的 IOPS 在 Amazon RDS 中的運作方式。 |
|
查找可用的 PostgreSQL 版本 Amazon RDS 支援數個 PostgreSQL 版本。 |
|
設定高可用性和容錯移轉支援 生產資料庫執行個體應該使用多個可用區部署。「異地同步備份部署」可提高資料庫執行個體的可用性、資料耐用性和容錯能力。 |
|
認識 Amazon Virtual Private Cloud (VPC) 網路 如果您的 AWS 帳戶具有預設 VPC,則會在預設 VPC 中自動建立資料庫執行個體。在某些情況下,您的帳戶可能沒有預設 VPC,而且您可能會想要在 VPC 中的資料庫執行個體。在這些情況下,建立資料庫執行個體前,建立 VPC 和子網路群組。 |
|
將資料匯入 Amazon RDS PostgreSQL 您可使用多種不同的工具,將資料匯入 Amazon RDS 上的 PostgreSQL 資料庫執行個體。 |
|
設定唯讀僅供讀取複本 (主要和待命) RDS for PostgreSQL 支援在相同區域以及與主執行個體不 AWS 同 AWS 區域中的僅供讀取複本。 |
|
了解安全群組 根據預設,建立資料庫執行個體時會同時建立防火牆,可防止執行個體遭受不適當的存取。若要透過該防火牆提供存取權,請編輯與託管資料庫執行個體 VPC 相關聯的 VPC 安全群組的傳入規則。 |
|
設定參數群組和功能 若要變更資料庫執行個體的預設參數,請建立自訂資料庫參數群組並將設定變更為如此。如果在建立資料庫執行個體之前執行此作業,您可以在建立執行個體時選擇自訂資料庫參數群組。 |
|
連線至 PostgreSQL 資料庫執行個體 建立安全群組並與資料庫執行個體建立關聯後,您可以使用任何標準 SQL 用戶端應用程式 (例如 |
|
備份與還原資料庫執行個體 您可以設定資料庫執行個體以進行自動備份,或取得手動快照,然後從備份或快照還原執行個體。 |
|
監控資料庫執行個體的活動和效能 您可以使用 CloudWatch Amazon RDS 指標、事件和增強型監控來監控 PostgreSQL 資料庫執行個體。 |
|
升級 PostgreSQL 資料庫版本 您可以對 PostgreSQL 資料庫執行個體進行主要和次要版本升級。 |
|
使用日誌檔案 您可以存取 PostgreSQL 資料庫執行個體的日誌檔案。 |
|
了解 PostgreSQL 資料庫執行個體的最佳實務 尋找在 Amazon RDS 上使用 PostgreSQL 的一些最佳實務。 |
以下是本指南中其他章節的列表,這些章節可幫助您了解並使用 RDS for PostgreSQL 的重要功能:
使用資料庫預覽環境
PostgreSQL 社群會持續發佈新的 PostgreSQL 版本和新的延伸模組。包括 Beta 版本。這讓 PostgreSQL 使用者有機會提早嘗試新的 PostgreSQL 版本。若要進一步了解 PostgreSQL 社群 Beta 發行程序,請參閱 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 傾印和載入函數,從資料庫預覽環境匯出資料庫,或匯入資料庫至資料庫預覽環境。
資料庫預覽環境中不支援的功能
資料庫預覽環境中無法使用下列功能:
-
跨區域快照複製
-
跨區域僅供讀取複本
在資料庫預覽環境中建立新的資料庫執行個體
使用下列程序在預覽環境中建立資料庫執行個體。
在資料庫預覽環境中建立資料庫執行個體
登入 AWS Management Console 並開啟 Amazon RDS 主控台,網址為 https://console.aws.amazon.com/rds/
。 -
從導覽窗格中選擇 Dashboards (儀表板)。
-
在儀表板頁面中,找出儀表板頁面上的 Database Preview Environment (資料庫預覽環境) 區段,如下圖所示。
您可以直接導覽至資料庫預覽環境
。在繼續之前,您必須確認並接受限制。 -
若要建立 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: 貼文中的
棄用 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 擴充功能版本
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 EXTENSION
和 DROP 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
角色的使用者可以安裝的延伸:
-
bool_plperl
-
jsonb_plperl
如需有關 Amazon RDS 支援的 PostgreSQL 擴充功能的詳細清單,請參閱 Amazon RDS for PostgreSQL 版本備註中的 Amazon RDS 上支援的 PostgreSQL 擴充功能。