本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
支援的 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 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 文件中的 SQLCREATEEXTENSION
下面列出了具有目前資料庫 CREATE
權限但不需要 rds_superuser
角色的使用者可以安裝的延伸:
-
bool_plperl
-
jsonb_plperl
如需 PostgreSQL 版本中每個可用版本支援的 RDS PostgreSQL 延伸模組和版本清單,請參閱 Amazon for PostgreSQL 版本備註 中的 Amazon 支援的 Postgre 延伸RDS模組。 RDS SQL