将 PostgreSQL 扩展与 Amazon RDS for PostgreSQL 结合使用 - Amazon Relational Database Service

将 PostgreSQL 扩展与 Amazon RDS for PostgreSQL 结合使用

您可以通过安装各种扩展和模块来扩展 PostgreSQL 的功能。例如,要处理空间数据,您可以安装和使用 PostGIS 扩展。有关更多信息,请参阅 使用 PostGIS 扩展管理空间数据。作为另一个例子,如果要改进非常大的表的数据输入,您可以考虑使用 pg_partman 扩展对数据进行分区。要了解更多信息,请参阅 使用 pg_partman 扩展管理 PostgreSQL 分区

注意

自 RDS for PostgreSQL 14.5 起,RDS for PostgreSQL 支持适用于 PostgreSQL 的可信语言扩展。此特征是作为扩展 pg_tle 实现的,您可以将其添加到 RDS for PostgreSQL 数据库实例中。通过使用此扩展,开发人员可以在安全的环境中创建自己的 PostgreSQL 扩展,从而简化设置和配置要求。有关更多信息,请参阅 使用适用于 PostgreSQL 的可信语言扩展

在某些情况下,您可以将特定模块添加到 RDS for PostgreSQL 数据库实例的自定义数据库参数组中的 shared_preload_libraries 列表中,而不是安装扩展。通常,默认的数据库集群参数组仅加载 pg_stat_statements,但还有其他几个模块可供添加到此列表中。例如,您可以通过添加 pg_cron 模块来添加调度功能,详情请见使用 PostgreSQL pg_cron 扩展计划维护。再举一个例子,您可以通过加载 auto_explain 模块来记录查询执行计划。要了解更多信息,请参阅 AWS 知识中心中的记录查询执行计划

根据您的 RDS for PostgreSQL 版本,安装扩展可能需要 rds_superuser 权限,如下所示:

  • 对于 RDS for PostgreSQL 版本 12 和更早版本,安装扩展需要 rds_superuser 权限。

  • 对于 RDS for PostgreSQL 版本 13 及更高版本,对给定数据库实例具有创建权限的用户(角色)可以安装和使用任何可信扩展。有关可信扩展清单,请参阅PostgreSQL 可信扩展

您还可以通过在 rds.allowed_extensions 参数中列出扩展,来精确指定可以在 RDS for PostgreSQL 数据库实例上安装的扩展。有关更多信息,请参阅 限制 PostgreSQL 扩展的安装

要了解有关 rds_superuser 角色的更多信息,请参阅了解 PostgreSQL 角色和权限