支援的 PostgreSQL 延伸版本 - Amazon Relational Database Service

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

支援的 PostgreSQL 延伸版本

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

SHOW rds.extensions;
注意

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

截至 PostgreSQL 13 RDS為止,除了 之外,資料庫使用者可以安裝某些延伸模組rds_superuser。這些稱為受信任的擴充功能。如需進一步了解,請參閱 PostgreSQL 信任的延伸模組

RDS 適用於 PostgreSQL 的特定 版本支援 rds.allowed_extensions 參數。此參數可讓 rds_superuser限制可在 RDS for PostgreSQL 資料庫執行個體中安裝的延伸模組。如需詳細資訊,請參閱限制 PostgreSQL 延伸模組的安裝

如需 PostgreSQL 版本中每個可用版本支援的 RDS PostgreSQL 延伸模組和版本清單,請參閱 Amazon for PostgreSQL 版本備註 中的 Amazon 支援的 Postgre 延伸RDS模組。 RDS SQL

限制 PostgreSQL 延伸模組的安裝

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

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

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

  • 所有 PostgreSQL 16 版本

  • 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 文件中的 SQLCREATEEXTENSION命令。

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

如需 PostgreSQL 版本中每個可用版本支援的 RDS PostgreSQL 延伸模組和版本清單,請參閱 Amazon for PostgreSQL 版本備註 中的 Amazon 支援的 Postgre 延伸RDS模組。 RDS SQL