

# 将 PostgreSQL 扩展与 Amazon RDS for PostgreSQL 结合使用
<a name="Appendix.PostgreSQL.CommonDBATasks.Extensions"></a>

您可以通过安装各种扩展和模块来扩展 PostgreSQL 的功能。例如，要处理空间数据，您可以安装和使用 PostGIS 扩展。有关更多信息，请参阅 [使用 PostGIS 扩展管理空间数据](Appendix.PostgreSQL.CommonDBATasks.PostGIS.md)。作为另一个例子，如果要改进非常大的表的数据输入，您可以考虑使用 `pg_partman` 扩展对数据进行分区。要了解更多信息，请参阅[使用 pg\$1partman 扩展管理 PostgreSQL 分区](PostgreSQL_Partitions.md)。

**注意**  
RDS for PostgreSQL 通过 `pg_tle` 扩展支持 PostgreSQL 的可信语言扩展，您可以将该扩展添加到数据库实例中。通过使用此扩展，开发人员可以在安全的环境中创建自己的 PostgreSQL 扩展，从而简化设置和配置要求。要了解支持 `pg_tle` 扩展的 RDS for PostgreSQL 版本以及更多信息，请参阅[使用适用于 PostgreSQL 的可信语言扩展](PostgreSQL_trusted_language_extension.md)。

在某些情况下，您可以将特定模块添加到 RDS for PostgreSQL 数据库实例的自定义数据库参数组中的 `shared_preload_libraries` 列表中，而不是安装扩展。通常，默认的数据库集群参数组仅加载 `pg_stat_statements`，但还有其他几个模块可供添加到此列表中。例如，您可以通过添加 `pg_cron` 模块来添加调度功能，详情请见[使用 PostgreSQL pg\$1cron 扩展计划维护](PostgreSQL_pg_cron.md)。再举一个例子，您可以通过加载 `auto_explain` 模块来记录查询执行计划。要了解更多信息，请参阅 Amazon 知识中心中的[记录查询执行计划](https://www.amazonaws.cn/premiumsupport/knowledge-center/rds-postgresql-tune-query-performance/#)。

根据您的 RDS for PostgreSQL 版本，安装扩展可能需要 `rds_superuser` 权限，如下所示：
+ 对于 RDS for PostgreSQL 版本 12 和更早版本，安装扩展需要 `rds_superuser` 权限。
+ 对于 RDS for PostgreSQL 版本 13 及更高版本，对给定数据库实例具有创建权限的用户（角色）可以安装和使用任何*可信扩展*。有关可信扩展清单，请参阅[PostgreSQL 可信扩展](PostgreSQL.Concepts.General.FeatureSupport.Extensions.md#PostgreSQL.Concepts.General.Extensions.Trusted)。

您还可以通过在 `rds.allowed_extensions` 参数中列出扩展，来精确指定可以在 RDS for PostgreSQL 数据库实例上安装的扩展。有关更多信息，请参阅 [限制 PostgreSQL 扩展的安装](PostgreSQL.Concepts.General.FeatureSupport.Extensions.md#PostgreSQL.Concepts.General.FeatureSupport.Extensions.Restriction)。

要了解有关 `rds_superuser` 角色的更多信息，请参阅[了解 PostgreSQL 角色和权限](Appendix.PostgreSQL.CommonDBATasks.Roles.md)。

**Topics**
+ [使用 orafce 扩展中的函数](Appendix.PostgreSQL.CommonDBATasks.orafce.md)
+ [使用适用于 PostgreSQL 的 Amazon RDS 委派扩展支持](RDS_delegated_ext.md)
+ [使用 pg\$1partman 扩展管理 PostgreSQL 分区](PostgreSQL_Partitions.md)
+ [使用 pgAudit 记录数据库活动](Appendix.PostgreSQL.CommonDBATasks.pgaudit.md)
+ [使用 PostgreSQL pg\$1cron 扩展计划维护](PostgreSQL_pg_cron.md)
+ [使用 pglogical 跨实例同步数据](Appendix.PostgreSQL.CommonDBATasks.pglogical.md)
+ [使用 pgactive 支持主动-主动复制](Appendix.PostgreSQL.CommonDBATasks.pgactive.md)
+ [使用 pg\$1repack 扩展减少表和索引的膨胀](Appendix.PostgreSQL.CommonDBATasks.pg_repack.md)
+ [升级和使用 PLV8 扩展](PostgreSQL.Concepts.General.UpgradingPLv8.md)
+ [使用 PL/Rust 通过 Rust 语言编写 PostgreSQL 函数](PostgreSQL.Concepts.General.Using.PL_Rust.md)
+ [使用 PostGIS 扩展管理空间数据](Appendix.PostgreSQL.CommonDBATasks.PostGIS.md)