Amazon RDS 上的 PostgreSQL - Amazon Relational Database Service
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

Amazon RDS 上的 PostgreSQL

Amazon RDS 支持运行多种 PostgreSQL 版本的数据库实例。可创建数据库实例和数据库快照、时间点还原和备份。运行 PostgreSQL 的数据库实例支持多可用区部署、只读副本、预置 IOPS,可以在 VPC 内创建此类数据库实例。您还可以使用安全套接字层 (SSL) 连接到运行 PostgreSQL 的数据库实例。

在创建数据库实例之前,您应完成本指南的对 Amazon RDS 进行设置部分中的步骤。

您可以使用任何标准 SQL 客户端应用程序从客户端计算机对实例运行命令。此类应用程序包括 pgAdmin(用于 PostgreSQL 的流行开源管理和开发工具)或 psql(PostgreSQL 安装包含的命令行实用程序)。为了提供托管服务体验,Amazon RDS 不提供数据库实例的主机访问权限,并限制访问某些需要高级权限的系统过程和表。Amazon RDS 支持使用任何标准 SQL 客户端应用程序访问数据库实例上的数据库。Amazon RDS 不允许主机使用 Telnet 或安全 Shell (SSH) 直接访问数据库实例。

Amazon RDS for PostgreSQL 符合很多行业标准。例如,您可以使用 Amazon RDS for PostgreSQL 数据库构建符合 HIPAA 标准的应用程序,并存储医疗保健相关信息,包括在实施的与 AWS 签订的业务合作协议 (BAA) 下保护的健康信息 (PHI)。Amazon RDS for PostgreSQL 还满足联邦风险与授权管理项目 (FedRAMP) 安全要求。Amazon RDS for PostgreSQL 在 AWS GovCloud (US) 区域中获得了 FedRAMP 联合授权委员会 (JAB) 的 FedRAMP 高基准临时授权操作 (P-ATO)。有关支持的合规性标准的更多信息,请参阅 AWS 云合规性

要将 PostgreSQL 数据导入到数据库实例中,请按将数据导入 Amazon RDS 上的 PostgreSQL一节中的信息操作。

Amazon RDS 上 PostgreSQL 的常见管理任务

下面是对 Amazon RDS for PostgreSQL 数据库实例执行的常见管理任务,以及有关每个任务的相关文档的链接。

任务区域 相关文档

设置 Amazon RDS 供首次使用

在创建数据库实例之前,必须先满足一些先决条件。例如,默认情况下,数据库实例在创建后带有一个阻止对其进行访问的防火墙。因此,您必须使用正确的 IP 地址和网络配置创建安全组来访问数据库实例。

对 Amazon RDS 进行设置

了解 Amazon RDS 数据库实例

如果您出于生产目的而创建数据库实例,则应该了解 Amazon RDS 中的实例类、存储类型和配置的 IOPS 的工作原理。

数据库实例类

Amazon RDS 存储类型

预置 IOPS SSD 存储

查找支持的 PostgreSQL 版本

Amazon RDS 支持 PostgreSQL 的多个版本。

支持的 PostgreSQL 数据库版本

设置高可用性和故障转移支持

生产数据库实例应使用多可用区部署。多可用区部署为数据库实例提供了更高的可用性、数据持久性和容错能力。

Amazon RDS 的高可用性(多可用区)

了解 Amazon Virtual Private Cloud (VPC) 网络

如果您的 AWS 账户具有默认 VPC,则系统会自动在默认 VPC 中创建数据库实例。在某些情况下,您的账户可能没有默认 VPC,并且您可能希望在 VPC 中使用数据库实例。在这些情况下,请在创建数据库实例之前创建 VPC 和子网组。

确定您使用的是 EC2-VPC 还是 EC2-Classic 平台

在 VPC 中使用数据库实例

将数据导入 Amazon RDS PostgreSQL

您可以使用多种不同的工具将数据导入 Amazon RDS 中的 PostgreSQL 数据库实例。

将数据导入 Amazon RDS 上的 PostgreSQL

设置只读副本(主和备用)

Amazon RDS 上的 PostgreSQL 支持来自主实例的同一 AWS 区域和不同 AWS 区域的只读副本。

使用只读副本

在 Amazon RDS 中使用 PostgreSQL 只读副本

在不同的 AWS 区域中创建只读副本

了解安全组

默认情况下,数据库实例在创建时带有一个防火墙,这个防火墙会阻止对实例进行访问。因此,您必须使用正确的 IP 地址和网络配置创建安全组来访问数据库实例。

通常而言,如果数据库实例位于 EC2-Classic 平台上,则您需要创建数据库安全组。如果数据库实例位于 EC2-VPC 平台上,则您需要创建 VPC 安全组。

确定您使用的是 EC2-VPC 还是 EC2-Classic 平台

使用安全组控制访问权限

设置参数组和功能

如果数据库实例需要特定数据库参数,则应在创建数据库实例前创建参数组。

使用数据库参数组

执行 PostgreSQL 的常见 DBA 任务

PostgreSQL DBA 的一些较常见任务包括:

PostgreSQL 的常见数据库管理员任务

连接到您的 PostgreSQL 数据库实例

在创建安全组并将其与数据库实例关联后,您可以使用任何标准 SQL 客户端应用程序 (如 pgadmin III) 连接到数据库实例。

连接到运行 PostgreSQL 数据库引擎的数据库实例

将 SSL 与 PostgreSQL 数据库实例结合使用

备份和还原数据库实例

您可以配置数据库实例以采用自动备份或采用手动快照,然后从备份或快照还原实例。

备份和还原 Amazon RDS 数据库实例

监控数据库实例的活动和性能

您可以使用 CloudWatch Amazon RDS 指标、事件和增强监控来监控 PostgreSQL 数据库实例。

查看数据库实例指标

查看 Amazon RDS 事件

升级 PostgreSQL 数据库版本

您可以对 PostgreSQL 数据库实例同时执行主要和次要版本升级。

升级适用于 Amazon RDS 的 PostgreSQL 数据库引擎

为 PostgreSQL 选择主要版本升级

使用日志文件

您可以访问 PostgreSQL 数据库实例的日志文件。

PostgreSQL 数据库日志文件

了解 PostgreSQL 数据库实例的最佳实践

查找在 Amazon RDS 上使用 PostgreSQL 的一些最佳实践。

使用 PostgreSQL 的最佳实践

使用数据库预览环境

在 Amazon RDS 中创建数据库实例时,您可以放心,它所基于的 PostgreSQL 版本经过测试并且 Amazon 可以完全支持。PostgreSQL 社区会不断发布新版本和新扩展。您可以在新 PostgreSQL 版本和扩展获得完全支持之前,试用这些版本和扩展。为此,您可以在数据库预览环境中创建新数据库实例。

数据库预览环境中的数据库实例类似于生产环境中的数据库实例。不过请注意几个重要因素:

  • 所有数据库实例在创建之后的 60 天删除,包括其所有备份和快照。

  • 您只能在 Virtual Private Cloud (VPC) 中创建基于 Amazon VPC 服务的数据库实例。

  • 您只能创建 M6G、M5、T3、R6G 和 R5 实例类型。有关 RDS 实例类的更多信息,请参阅数据库实例类

  • 您只能使用通用 SSD 和预置 IOPS SSD 存储。

  • 您无法从 AWS Support 获得数据库实例的帮助。您可以将问题发布在 RDS 数据库预览环境论坛中。

  • 您无法将数据库实例的快照复制到生产环境。

  • 您可以同时使用单可用区和多可用区部署。

  • 您可以使用标准 PostgreSQL 转储和加载函数从数据库预览环境中导出数据库或将数据库导入数据库预览环境。

预览环境中不支持的功能

以下功能在预览环境中不可用:

  • 跨区域快照复制

  • 跨区域只读副本

  • 不在以下支持扩展表中的扩展

预览环境中支持的 PostgreSQL 扩展

下表列出了数据库预览环境中支持的 PostgreSQL 扩展。

扩展 版本

amcheck

1.2

aws_commons 1.0
aws_s3 1.0

bloom

1.0

btree_gin

1.3

btree_gist

1.5

citext

1.6

cube

1.4

dblink

1.2

dict_int

1.0

dict_xsyn

1.0

earthdistance

1.1

fuzzystrmatch

1.1

hstore

1.7

hstore_plper

1.0

intagg

1.1

intarray

1.3

ip4r 2.4

isn

1.2

jsonb_plperl 1.0

ltree

1.2

pageinspect 1.8

pg_buffercache

1.3

pg_freespacemap

1.2

pg_prewarm

1.2

pg_similarity 1.0

pg_stat_statements

1.8

pg_transport 1.0

pg_trgm

1.5

pg_visibility

1.2

pgcrypto

1.3

pgrouting 3.0.0

pgrowlocks

1.2

pgstattuple

1.5

pgtap 1.1.0

plperl

1.0

plpgsql

1.0

plprofiler 4.1

pltcl

1.0

postgres_fdw

1.0

前缀 1.2.0

sslinfo

1.2

tablefunc

1.0

test_parser

1.0

tsm_system_rows

1.0

tsm_system_time

1.0

unaccent

1.1

uuid_ossp

1.1

在预览环境中创建新数据库实例

使用以下过程在预览环境中创建数据库实例。

在预览环境中创建数据库实例

  1. 登录 AWS 管理控制台 并通过以下网址打开 Amazon RDS 控制台:https://console.amazonaws.cn/rds/

  2. 从导航窗格选择 Dashboard (控制面板)

  3. 选择 Switch to database preview environment (切换到数据库预览环境)

    
                            用于选择预览环境的对话框

    您还可以直接导航到数据库预览环境

    注意

    如果您要使用 API 或 CLI 在数据库预览环境中创建实例,则终端节点为 rds-preview.us-east-2.amazonaws.com

  4. 继续控制台中描述的过程。

PostgreSQL 数据库实例的限制

以下是 Amazon RDS 上 PostgreSQL 限制的列表:

  • 最多可购买 40 个 PostgreSQL 数据库实例。

  • 有关存储限制,请参阅 Amazon RDS 数据库实例存储

  • Amazon RDS 保留了多达 3 个供系统维护使用的连接。如果为用户连接参数指定一个值,需要为您希望使用的连接数目加上 3。

支持的 PostgreSQL 数据库版本

Amazon RDS 支持运行多种 PostgreSQL 版本的数据库实例。在创建新数据库实例时,您可以指定目前支持的任何 PostgreSQL 版本。您可以指定主要版本(例如 PostgreSQL 10),以及所指定主要版本的任何受支持的次要版本。如果没有指定版本,Amazon RDS 会默认使用支持的版本,通常是最新的版本。如果指定了主要版本但未指定次要版本,Amazon RDS 将默认使用您指定的主要版本的最新版本。

要查看受支持版本的列表以及新建数据库实例的默认值,请使用 describe-db-engine-versions AWS CLI 命令。例如,要显示默认 PostgreSQL 引擎版本,请使用以下命令:

aws rds describe-db-engine-versions --default-only --engine postgres

PostgreSQL 版本 13

Amazon RDS 上的 PostgreSQL 版本 13.2

PostgreSQL 版本 13.2 现在可在 Amazon RDS 上使用。PostgreSQL 包含一些改进,相关信息已在 PostgreSQL 13.2 中公布。

此版本还添加了以下新扩展:

  1. aws_lambda 扩展版本 1.0。有关更多信息,请参阅从 RDS for PostgreSQL 数据库实例中调用 AWS Lambda 函数

  2. pg_bigm 扩展版本 1.2。

有关所有扩展的信息,请参阅 Amazon RDS 上支持的 PostgreSQL 版本 13 扩展

Amazon RDS 上的 PostgreSQL 版本 13.1

PostgreSQL 版本 13.1 现在可在 Amazon RDS 上使用。PostgreSQL 包含一些改进,相关信息已在 PostgreSQL 13.0PostgreSQL 13.1 中公布。

此版本添加了 bool_plperl 扩展版本 1.0。

有关所有扩展的信息,请参阅 Amazon RDS 上支持的 PostgreSQL 版本 13 扩展

PostgreSQL 版本 12

Amazon RDS 上的 PostgreSQL 版本 12.6

PostgreSQL 版本 12.6 现在可在 Amazon RDS 上使用。PostgreSQL 版本 12.6 包含针对 PostgreSQL 版本 12.6 推出的多项改进。

此版本还包含以下更改:

  1. 添加了 aws_lambda 扩展版本 1.0。有关更多信息,请参阅从 RDS for PostgreSQL 数据库实例中调用 AWS Lambda 函数

  2. 添加了 pg_bigm 扩展版本 1.2。

  3. PostGIS 扩展已更新为版本 3.0.2。

有关所有扩展的信息,请参阅 Amazon RDS 上支持的 PostgreSQL 版本 12 扩展

Amazon RDS 上的 PostgreSQL 版本 12.5

PostgreSQL 版本 12.5 现可在 Amazon RDS 上使用。PostgreSQL 版本 12.5 包含针对 PostgreSQL 版本 12.5 推出的多项改进。

此版本还包含以下更改:

  1. 添加了 pg_partman 扩展版本 4.4.0。有关更多信息,请参阅 使用 pg_partman 扩展管理 PostgreSQL 分区

  2. 添加了 pg_cron 扩展版本 1.3.0。有关更多信息,请参阅 使用 PostgreSQL pg_cron 扩展计划维护

有关所有扩展的信息,请参阅 Amazon RDS 上支持的 PostgreSQL 版本 12 扩展

Amazon RDS 上的 PostgreSQL 版本 12.4

PostgreSQL 版本 12.4 现可在 Amazon RDS 上使用。PostgreSQL 版本 12.4 包含针对 PostgreSQL 版本 12.4 推出的多项改进。

此版本还包含以下更改:

  1. 添加了 pg_proctab 扩展版本 0.0.9

  2. 添加了 rdkit 扩展版本 3.8

  3. aws_s3 扩展升级为版本 1.1。

  4. pglogical 扩展升级为版本 2.3.2

  5. wal2json 扩展升级为版本 2.3

有关所有扩展的信息,请参阅 Amazon RDS 上支持的 PostgreSQL 版本 12 扩展

Amazon RDS 上的 PostgreSQL 版本 12.3

PostgreSQL 版本 12.3 现可在 Amazon RDS 上使用。PostgreSQL 版本 12.3 包含针对 PostgreSQL 版本 12.3 推出的多项改进。

此版本还包含以下更改:

  1. pg_hint_plan 扩展升级为版本 1.3.5。

  2. pglogical 扩展升级为版本 2.3.1。

有关所有扩展的信息,请参阅 Amazon RDS 上支持的 PostgreSQL 版本 12 扩展

Amazon RDS 上的 PostgreSQL 版本 12.2

PostgreSQL 版本 12.2 现可在 Amazon RDS 上使用。PostgreSQL 版本 12.2 包含针对 PostgreSQL 版本 12.012.112.2 的多项改进。

有关所有扩展的信息,请参阅 Amazon RDS 上支持的 PostgreSQL 版本 12 扩展

PostgreSQL 版本 11

Amazon RDS 上的 PostgreSQL 版本 11.11

PostgreSQL 版本 11.11 现在可在 Amazon RDS 上使用。PostgreSQL 版本 11.11 包含针对 PostgreSQL 版本 11.11 推出的多项改进。

此版本还添加了以下新扩展:

  1. pg_bigm 扩展版本 1.2。

有关所有扩展的信息,请参阅 Amazon RDS 上支持的 PostgreSQL 版本 11.x 扩展

Amazon RDS 上的 PostgreSQL 版本 11.10

PostgreSQL 版本 11.10 现可在 Amazon RDS 上使用。PostgreSQL 版本 11.10 包含针对 PostgreSQL 版本 11.10 推出的多项改进。

有关所有扩展的信息,请参阅 Amazon RDS 上支持的 PostgreSQL 版本 11.x 扩展

Amazon RDS 上的 PostgreSQL 版本 11.9

PostgreSQL 版本 11.9 现可在 Amazon RDS 上使用。PostgreSQL 版本 11.9 包含针对 PostgreSQL 版本 11.9 推出的多项改进。

此版本还包含以下更改:

  1. 添加了 aws_s3 扩展版本 1.1

  2. 添加了 pg_proctab 扩展版本 0.0.9

  3. pgaudit 扩展升级为版本 1.3.1。

  4. pglogical 扩展升级为版本 2.2.2

  5. 添加了 rdkit 扩展版本 3.8

有关所有扩展的信息,请参阅 Amazon RDS 上支持的 PostgreSQL 版本 11.x 扩展

Amazon RDS 上的 PostgreSQL 版本 11.8

PostgreSQL 版本 11.8 包含对版本 11.7 中的问题的几项错误修复。有关 PostgreSQL 11.8 中的修复的更多信息,请参阅 PostgreSQL 11.8 文档

此版本还包含以下更改:

  1. pg_hint_plan 扩展升级为版本 1.3.5。

有关所有扩展的信息,请参阅 Amazon RDS 上支持的 PostgreSQL 版本 11.x 扩展

Amazon RDS 上的 PostgreSQL 版本 11.7

PostgreSQL 版本 11.7 包含对版本 11.6 中的问题的几项错误修复。有关 PostgreSQL 11.7 中的修复的更多信息,请参阅 PostgreSQL 11.7 文档

Amazon RDS 上的 PostgreSQL 版本 11.6

PostgreSQL 版本 11.6 包含对版本 11.5 中的问题的几项错误修复。有关 PostgreSQL 11.6 中的修复的更多信息,请参阅 PostgreSQL 文档

此版本还包含以下更改:

  1. pgTAP 扩展升级为版本 1.1.0。

  2. 添加了 plprofiler 扩展。

  3. 添加对 shared_preload_libraries 的支持,以使 pg_prewarm 自动启动。

Amazon RDS 上的 PostgreSQL 版本 11.5

PostgreSQL 版本 11.5 包含对版本 11.4 中的问题的几项错误修复。有关 PostgreSQL 11.5 中的修复的更多信息,请参阅 PostgreSQL 文档

此版本还包含以下更改:

Amazon RDS 上的 PostgreSQL 版本 11.4

此版本包含重要的安全修复以及 PostgreSQL 社区完成的错误修复和改进。有关安全修复的更多信息,请参阅 PostgreSQL 社区公告和安全修复 CVE-2019-10164。

在此版本中,pg_hint_plan 扩展已更新为 1.3.4 版。

有关 PostgreSQL 11.4 中的修复的更多信息,请参阅 PostgreSQL 文档

Amazon RDS 上的 PostgreSQL 版本 11.2

PostgreSQL 版本 11.2 包含对版本 11.1 中的问题的几项错误修复。有关 PostgreSQL 11.2 中的修复的更多信息,请参阅 PostgreSQL 文档

此版本还包含以下更改:

有关为 PostgreSQL 数据库实例升级引擎版本的信息,请参阅升级适用于 Amazon RDS 的 PostgreSQL 数据库引擎

有关 Amazon RDS for PostgreSQL 支持的扩展的完整列表,请参阅Amazon RDS 上支持的 PostgreSQL 扩展

Amazon RDS 上的 PostgreSQL 版本 11.1

PostgreSQL 版本 11.1 包含一些改进,其介绍请见 PostgreSQL 11.1 已发布! 此版本包含 SQL 存储的程序,可处理程序内的嵌套事务。此版本还包括分区和并行度的重要改进以及许多有用的性能改进。例如,通过为列默认值使用非空常量,现在您可以使用 ALTER TABLE 命令来添加列而不会导致表格重写。

PostgreSQL 版本 11.1 包含对版本 11 中的问题的几项错误修复。有关完整详情,请参阅 PostgreSQL 版本 11.1 文档。此版本中的一些更改包括:

  • 分区 – 分区改进包括对哈希分区的支持、支持默认分区的创建以及基于关键列更新将动态行移动到另一个分区。

  • 性能 – 性能改进包括创建索引时的并行度、具体化视图、哈希联接和顺序扫描,以便让操作性能更好。

  • 存储过程 – SQL 存储过程现在增加对嵌套事务的支持。

  • 支持即时 (JIT) 功能 – RDS for PostgreSQL 11 实例使用即时功能创建,加快表达式的评估。要启用 JIT 功能,请在数据库的 PostgreSQL 参数组中,将 jit 参数设置为 1。

  • 段大小 – 提前写入日志 (WAL) 段大小已从 16 MB 更改为 64 MB。

  • Autovacuum 改进 – 为了提供有价值的日志记录,rds.force_autovacuum_logging 参数默认设置为 ON (打开),且 log_autovacuum_min_duration 参数设置为 10 秒。为了增强 autovacuum 的效力,autovacuum_max_workersautovacuum_vacuum_cost_limit 参数的值基于主机内容容量来计算,以便提供更大的默认值。

  • 改进的事务超时 – idle_in_transaction_session_timeout 参数设置为 12 小时。闲置超过 12 小时的任何会话会终止。

  • 性能指标 – pg_stat_statements 扩展默认包括在 shared_preload_libraries 中。这样就可以避免在创建后立即重新启动实例。但是,此功能仍需要您运行语句 CREATE EXTENSION pg_stat_statements;。此外,track_io_timing 默认已启用,以便将更精细的数据添加到 pg_stat_statements

  • tsearch2 扩展不再受支持 – 如果您的应用程序使用 tsearch2 函数,请更新它以使用核心 PostgreSQL 引擎提供的等效函数。有关 tsearch2 扩展的更多信息,请参阅 PostgreSQL tsearch2

  • chkpass 扩展不再受支持 – 有关 chkpass 扩展的更多信息,请参阅 PostgreSQL chkpass

  • RDS for PostgreSQL 11.1 的扩展更新包括:

    • pgaudit 更新到 1.3.0。

    • pg_hint_plan 更新到 1.3.2。

    • pglogical 更新到 2.2.1。

    • plcoffee 更新到 2.3.8。

    • plv8 更新到 2.3.8。

    • PostGIS 更新到 2.5.1。

    • prefix 更新到 1.2.8。

    • wal2json 更新到哈希 9e962bad。

有关 Amazon RDS for PostgreSQL 支持的扩展的完整列表,请参阅Amazon RDS 上支持的 PostgreSQL 扩展

PostgreSQL 版本 10

Amazon RDS 上的 PostgreSQL 版本 10.16

PostgreSQL 版本 10.16 现在可在 Amazon RDS 上使用。PostgreSQL 版本 10.16 包含针对 PostgreSQL 版本 10.16 推出的多项改进。

有关所有扩展的信息,请参阅 Amazon RDS 上支持的 PostgreSQL 版本 10.x 扩展

Amazon RDS 上的 PostgreSQL 版本 10.15

PostgreSQL 版本 10.15 现可在 Amazon RDS 上使用。PostgreSQL 版本 10.15 包含针对 PostgreSQL 版本 10.15 推出的多项改进。

有关所有扩展的信息,请参阅 Amazon RDS 上支持的 PostgreSQL 版本 10.x 扩展

Amazon RDS 上的 PostgreSQL 版本 10.14

PostgreSQL 版本 10.14 现可在 Amazon RDS 上使用。PostgreSQL 版本 10.14 包含针对 PostgreSQL 版本 10.14 推出的多项改进。

此版本还包含以下更改:

  1. 添加了 aws_s3 扩展版本 1.1。有关更多信息,请参阅将数据从 RDS for PostgreSQL 数据库实例导出到 Amazon S3

  2. pgaudit 扩展升级为版本 1.2.1

  3. pglogical 扩展升级为版本 2.2.2

  4. wal2json 扩展升级为版本 2.3

有关所有扩展的信息,请参阅 Amazon RDS 上支持的 PostgreSQL 版本 10.x 扩展

Amazon RDS 上的 PostgreSQL 版本 10.13

PostgreSQL 版本 10.13 包含对版本 10.12 中的问题的几项错误修复。有关 PostgreSQL 10.13 中的修复的更多信息,请参阅 PostgreSQL 10.13 文档

此版本还包含以下更改:

  1. pg_hint_plan 扩展升级为版本 1.3.5。

有关所有扩展的信息,请参阅 Amazon RDS 上支持的 PostgreSQL 版本 10.x 扩展

Amazon RDS 上的 PostgreSQL 版本 10.12

PostgreSQL 版本 10.12 包含对版本 10.11 中的问题的几项错误修复。有关 PostgreSQL 10.12 中的修复的更多信息,请参阅 PostgreSQL 10.12 文档

Amazon RDS 上的 PostgreSQL 版本 10.11

PostgreSQL 版本 10.11 包含对版本 10.10 中的问题的几项错误修复。有关 PostgreSQL 10.11 中的修复的更多信息,请参阅 PostgreSQL 文档。该版本中的更改包括以下内容:

  1. 添加了 plprofiler 扩展。

Amazon RDS 上的 PostgreSQL 版本 10.10

PostgreSQL 版本 10.10 包含对版本 10.9 中的问题的几项错误修复。有关 PostgreSQL 10.10 中的修复的更多信息,请参阅 PostgreSQL 文档。该版本中的更改包括以下内容:

  1. 已更新 aws_s3 扩展以支持虚拟托管样式请求。有关更多信息,请参阅 Amazon S3 路径弃用计划 – 案例的其余部分

  2. PostGIS 扩展已更新为版本 2.5.2。

Amazon RDS 上的 PostgreSQL 版本 10.9

此版本包含重要的安全修复以及 PostgreSQL 社区完成的错误修复和改进。有关安全修复的更多信息,请参阅 PostgreSQL 社区公告安全修复 CVE-2019-10164

在此版本中,pg_hint_plan 扩展已更新为 1.3.3 版。

有关 PostgreSQL 10.9 中的修复的更多信息,请参阅 PostgreSQL 文档

Amazon RDS 上的 PostgreSQL 版本 10.7

PostgreSQL 版本 10.7 包含对版本 10.6 中的问题的几项错误修复。有关 10.7 中的修复的更多信息,请参阅 PostgreSQL 文档

此版本还包含以下更改:

有关为 PostgreSQL 数据库实例升级引擎版本的信息,请参阅升级适用于 Amazon RDS 的 PostgreSQL 数据库引擎

Amazon RDS 上的 PostgreSQL 版本 10.6

PostgreSQL 版本 10.6 包含对版本 10.5 中的问题的几项错误修复。有关 PostgreSQL 10.6 中的修复的更多信息,请参阅 PostgreSQL 文档

此版本还包含以下更改:

  • 引入了新的 rds.restrict_password_commands 参数和新的 rds_password 角色。启用 rds.restrict_password_commands 参数时,只有具有 rds_password 角色的用户可以进行用户密码和密码到期更改。通过将与密码相关的操作限制为有限的一组角色,您可以从客户端实施诸如密码复杂性要求等策略。rds.restrict_password_commands 参数为静态,因此更改此参数需要重新启动数据库。有关更多信息,请参阅限制密码管理

  • 已更新逻辑解码插件 wal2json 来提交 9e962ba

有关为 PostgreSQL 数据库实例升级引擎版本的信息,请参阅升级适用于 Amazon RDS 的 PostgreSQL 数据库引擎

有关 Amazon RDS for PostgreSQL 支持的扩展的完整列表,请参阅Amazon RDS 上支持的 PostgreSQL 扩展

注意

Amazon RDS for PostgreSQL 宣布将在下一个主要版本中删除 tsearch2 扩展。我们建议仍使用 8.3 之前的文本搜索的客户迁移到等效的内置功能。有关迁移的更多信息,请参阅 PostgreSQL 文档

Amazon RDS 上的 PostgreSQL 版本 10.5

PostgreSQL 版本 10.5 包含对版本 10.4 中的问题的几项错误修复。有关 10.5 中的修复的更多信息,请参阅 PostgreSQL 文档

此版本还包含以下更改:

  • 支持 pglogical 扩展 2.2.0 版。使用该扩展的先决条件与在 PostgreSQL 中使用逻辑复制的先决条件相同,如Amazon RDS 上 PostgreSQL 的逻辑复制中所述。

  • 支持 pg_similarity 扩展 1.0 版。

  • 支持 pageinspect 扩展 1.6 版。

  • 在 PostGIS 组件中支持 libprotobuf 扩展 1.3.0 版。

  • pg_hint_plan 扩展更新为 1.3.1 版。

  • wal2json 扩展更新为 01c5c1e 版。

有关为 PostgreSQL 数据库实例升级引擎版本的信息,请参阅升级适用于 Amazon RDS 的 PostgreSQL 数据库引擎

有关 Amazon RDS for PostgreSQL 支持的扩展的完整列表,请参阅Amazon RDS 上支持的 PostgreSQL 扩展

Amazon RDS 上的 PostgreSQL 版本 10.4

PostgreSQL 版本 10.4 包含对版本 10.3 中的问题的几项错误修复。有关 10.4 中的修复的更多信息,请参阅 PostgreSQL 文档

此版本还包含以下更改:

  • 支持使用本机发布和订阅框架的 PostgreSQL 10 逻辑复制。RDS for PostgreSQL 数据库可以作为发布者和订阅者发挥作用。可以指定在数据库级别或表级别复制到其他 PostgreSQL 数据库。使用逻辑复制时,发布者和订阅者数据库无需在物理上彼此相同(块对块)。这样可实现如下使用案例,如在 10.4 及以上的不同数据库版本之间进行数据合并、数据分布和数据复制等。有关详细信息,请参考 Amazon RDS 上 PostgreSQL 的逻辑复制

  • 临时文件大小限制可由用户配置。您需要 rds_superuser 角色才能修改 temp_file_limit 参数。

  • 更新 PostGIS 扩展使用的 GDAL 库。请参阅使用 PostGIS 扩展

  • ip4r 扩展更新为版本 2.1.1。

  • pg_repack 扩展更新为版本 1.4.3。请参阅使用 pg_repack 扩展

  • plv8 扩展更新为版本 2.1.2。

有关为 PostgreSQL 数据库实例升级引擎版本的信息,请参阅升级适用于 Amazon RDS 的 PostgreSQL 数据库引擎

有关 Amazon RDS for PostgreSQL 支持的扩展的完整列表,请参阅Amazon RDS 上支持的 PostgreSQL 扩展

注意

将在下一个主要版本中删除 tsearch2 扩展。我们建议仍使用 8.3 之前的文本搜索的客户迁移到等效的内置功能。有关迁移的更多信息,请参阅 PostgreSQL 文档

Amazon RDS 上的 PostgreSQL 版本 10.3

PostgreSQL 版本 10.3 包含对版本 10 中的问题的几项错误修复。有关 10.3 中的修复的更多信息,请参阅 PostgreSQL 文档

plv8 的版本 2.1.0 现已推出。如果使用 plv8 并将 PostgreSQL 升级到新的 plv8 版本,您可以立即利用新扩展,但目录元数据不会反映该情况。有关将目录元数据与新版本的 plv8 同步的步骤,请参阅升级 plv8

有关为 PostgreSQL 数据库实例升级引擎版本的信息,请参阅升级适用于 Amazon RDS 的 PostgreSQL 数据库引擎

有关 Amazon RDS for PostgreSQL 支持的扩展的完整列表,请参阅Amazon RDS 上支持的 PostgreSQL 扩展

Amazon RDS 上的 PostgreSQL 版本 10.1

PostgreSQL 版本 10.1 包含对版本 10 中的问题的几项错误修复。有关 10.1 中的修复的更多信息,请参阅 PostgreSQL 文档PostgreSQL 10 社区公告

有关为 PostgreSQL 数据库实例升级引擎版本的信息,请参阅升级适用于 Amazon RDS 的 PostgreSQL 数据库引擎

PostgreSQL 版本 10.1 包括以下更改:

  • 声明性表分区 – PostgreSQL 10 将表分区添加到 SQL 语法和本机元组路由中。

  • 并行查询 – 在您创建新的 PostgreSQL 10.1 实例时,将为 default.postgres10 参数组启用并行查询。max_parallel_workers_per_gather 参数默认设置为 2,但您可以修改该参数以支持特定的工作负载要求。

  • 支持 International Components for Unicode (ICU) – 您可以使用 ICU 库来提供显式版本化的排序规则。使用 ICU 版本 60.2 对 Amazon RDS for PostgreSQL 10.1 进行编译。有关 PostgreSQL 中的 ICU 实现的更多信息,请参阅排序规则支持

  • 巨页 – 巨页是使用现代硬件架构的多个页面大小功能的 Linux 内核的一项功能。Amazon RDS for PostgreSQL 支持具有全局配置参数的巨页。在您使用 RDS 创建新的 PostgreSQL 10.1 实例时,会将 huge_pages 参数组的 "on" 参数设置为 default.postgres10。您可以修改此设置以支持您的特定工作负载要求。

  • 扩展plv8 更新 – plv8 是一种程序性语言,您可用来在 JavaScript 中编写函数,然后您可以从 SQL 调用这些函数。此版本的 PostgreSQL 支持 2.1.0 版本的 plv8。

  • xlog 和 location 的重命名 – 在 PostgreSQL 版本 10 中,缩写“xlog”已更改为“wal”,“location”一词已更改为“lsn”。有关更多信息,请参阅 https://www.postgresql.org/docs/10/static/release-10.html#id-1.11.6.8.4

  • tsearch2 扩展 – Amazon RDS 将继续在 PostgreSQL 10 版中提供 tsearch2 扩展,但在下一个主要版本中将其删除。如果您的应用程序使用 tsearch2 功能,请将它更新为使用核心引擎提供的等效功能。有关更多信息,请参阅 PostgreSQL 文档中的 tsearch2

有关 Amazon RDS for PostgreSQL 支持的扩展的完整列表,请参阅Amazon RDS 上支持的 PostgreSQL 扩展

PostgreSQL 版本 9.6

Amazon RDS 上的 PostgreSQL 版本 9.6.21

PostgreSQL 版本 9.6.21 现在可在 Amazon RDS 上使用。PostgreSQL 版本 9.6.21 包含针对 PostgreSQL 版本 9.6.21 推出的多项改进。

有关所有扩展的信息,请参阅 Amazon RDS 上支持的 PostgreSQL 版本 9.6.x 扩展

Amazon RDS 上的 PostgreSQL 版本 9.6.20

PostgreSQL 版本 9.6.20 现可在 Amazon RDS 上使用。PostgreSQL 版本 9.6.20 包含针对 PostgreSQL 版本 9.6.20 推出的多项改进。

有关所有扩展的信息,请参阅 Amazon RDS 上支持的 PostgreSQL 版本 9.6.x 扩展

Amazon RDS 上的 PostgreSQL 版本 9.6.19

PostgreSQL 版本 9.6.19 现可在 Amazon RDS 上使用。PostgreSQL 版本 9.6.19 包含针对 PostgreSQL 版本 9.6.19 推出的多项改进。

此版本还包含以下更改:

  1. pgaudit 扩展升级为版本 1.1.2

  2. pglogical 扩展升级为版本 2.2.2

  3. wal2json 扩展升级为版本 2.3

有关所有扩展的信息,请参阅 Amazon RDS 上支持的 PostgreSQL 版本 9.6.x 扩展

Amazon RDS 上的 PostgreSQL 版本 9.6.18

PostgreSQL 版本 9.6.18 包含对版本 9.6.17 中的问题的几项错误修复。有关 PostgreSQL 9.6.18 中的修复的更多信息,请参阅 PostgreSQL 9.6.18 文档

此版本还包含以下更改:

  1. pg_hint_plan 扩展升级为版本 1.2.6。

有关所有扩展的信息,请参阅 Amazon RDS 上支持的 PostgreSQL 版本 9.6.x 扩展

Amazon RDS 上的 PostgreSQL 版本 9.6.17

PostgreSQL 版本 9.6.17 包含对版本 9.6.16 中的问题的几项错误修复。有关 PostgreSQL 9.6.17 中的修复的更多信息,请参阅 PostgreSQL 9.6.17 文档

Amazon RDS 上的 PostgreSQL 版本 9.6.16

PostgreSQL 版本 9.6.16 包含对版本 9.6.15 中的问题的几项错误修复。有关 PostgreSQL 9.6.16 中的修复的更多信息,请参阅 PostgreSQL 文档

Amazon RDS 上的 PostgreSQL 版本 9.6.15

PostgreSQL 版本 9.6.15 包含对版本 9.6.14 中的问题的几项错误修复。有关 PostgreSQL 9.6.15 中的修复的更多信息,请参阅 PostgreSQL 文档

PostGIS 扩展已更新为版本 2.5.2。

Amazon RDS 上的 PostgreSQL 版本 9.6.14

此版本包含 PostgreSQL 社区完成的错误修复和改进。

在此版本中,pg_hint_plan 扩展已更新为 1.2.5 版。

有关 PostgreSQL 9.6.14 中的修复的更多信息,请参阅 PostgreSQL 文档

Amazon RDS 上的 PostgreSQL 版本 9.6.12

PostgreSQL 版本 9.6.12 包含对版本 9.6.11 中的问题的几项错误修复。有关 9.6.12 中的修复的更多信息,请参阅 PostgreSQL 文档

有关为 PostgreSQL 数据库实例升级引擎版本的信息,请参阅升级适用于 Amazon RDS 的 PostgreSQL 数据库引擎

Amazon RDS 上的 PostgreSQL 版本 9.6.11

PostgreSQL 版本 9.6.11 包含对版本 9.6.10 中的问题的几项错误修复。有关 PostgreSQL 9.6.11 中的修复的更多信息,请参阅 PostgreSQL 文档。有关为 PostgreSQL 数据库实例升级引擎版本的信息,请参阅升级适用于 Amazon RDS 的 PostgreSQL 数据库引擎

在此版本中更新了逻辑解码插件 wal2json 来提交 9e962ba

有关 Amazon RDS for PostgreSQL 支持的扩展的完整列表,请参阅Amazon RDS 上支持的 PostgreSQL 扩展

Amazon RDS 上的 PostgreSQL 版本 9.6.10

PostgreSQL 版本 9.6.10 包含对版本 9.6.9 中的问题的几项错误修复。有关 9.6.10 中的修复的更多信息,请参阅 PostgreSQL 文档

此版本包含以下更改:

  • 支持 pglogical 扩展 2.2.0 版。使用该扩展的先决条件与在 PostgreSQL 中使用逻辑复制的先决条件相同,如Amazon RDS 上 PostgreSQL 的逻辑复制中所述。

  • 支持 pg_similarity 扩展版本 2.2.0。

  • wal2json 扩展更新为 01c5c1e 版。

  • pg_hint_plan 扩展更新为 1.2.3 版。

有关为 PostgreSQL 数据库实例升级引擎版本的信息,请参阅升级适用于 Amazon RDS 的 PostgreSQL 数据库引擎

有关 Amazon RDS for PostgreSQL 支持的扩展的完整列表,请参阅Amazon RDS 上支持的 PostgreSQL 扩展

Amazon RDS 上的 PostgreSQL 版本 9.6.9

PostgreSQL 版本 9.6.9 包含版本 9.6.8 中的问题的几项错误修复。有关 9.6.9 中的修复的更多信息,请参阅 PostgreSQL 文档。有关为 PostgreSQL 数据库实例升级引擎版本的信息,请参阅升级适用于 Amazon RDS 的 PostgreSQL 数据库引擎

此版本包含以下更改:

  • 临时文件大小限制可由用户配置。您需要 rds_superuser 角色才能修改 temp_file_limit 参数。

  • 更新 PostGIS 扩展使用的 GDAL 库。请参阅使用 PostGIS 扩展

  • ip4r 扩展更新为版本 2.1.1。

  • pgaudit 扩展更新为版本 1.1.1。请参阅使用 pgaudit 扩展

    pg_repack 扩展更新为版本 1.4.3。请参阅使用 pg_repack 扩展

  • plv8 扩展更新为版本 2.1.2。

有关 Amazon RDS for PostgreSQL 支持的扩展的完整列表,请参阅Amazon RDS 上支持的 PostgreSQL 扩展

Amazon RDS 上的 PostgreSQL 版本 9.6.8

PostgreSQL 版本 9.6.8 包含对版本 9.6.6 中的问题的几项错误修复。有关 9.6.8 中的修复的更多信息,请参阅 PostgreSQL 文档。有关为 PostgreSQL 数据库实例升级引擎版本的信息,请参阅升级适用于 Amazon RDS 的 PostgreSQL 数据库引擎

有关 Amazon RDS for PostgreSQL 支持的扩展的完整列表,请参阅Amazon RDS 上支持的 PostgreSQL 扩展

Amazon RDS 上的 PostgreSQL 版本 9.6.6

PostgreSQL 版本 9.6.6 包含对版本 9.6.5 中的问题的几项错误修复。有关 9.6.6 中的修复的更多信息,请参阅 PostgreSQL 文档。有关为 PostgreSQL 数据库实例升级引擎版本的信息,请参阅升级适用于 Amazon RDS 的 PostgreSQL 数据库引擎

此版本包括以下功能:

  • 支持 orafce 扩展版本 3.6.1。此扩展包含商业数据库固有的功能,如果您将商业数据库移植到 PostgreSQL,它会非常有帮助。有关将 orafce 与 Amazon RDS 结合使用的更多信息,请参阅 使用 orafce 扩展

  • 支持 prefix 扩展版本 1.2.6。此扩展为文本前缀搜索提供运算符。有关 prefix 的更多信息,请参阅 GitHub 上的前缀项目

  • 支持 PostGIS 版本 2.3.4、pgrouting 版本 2.4.2 和 wal2json 的更新版本。

有关 Amazon RDS for PostgreSQL 支持的扩展的完整列表,请参阅Amazon RDS 上支持的 PostgreSQL 扩展

Amazon RDS 上的 PostgreSQL 版本 9.6.5

PostgreSQL 版本 9.6.5 包含对版本 9.6.4 中的问题的几项错误修复。有关 9.6.5 中的修复的更多信息,请参阅 PostgreSQL 文档。有关为 PostgreSQL 数据库实例升级引擎版本的信息,请参阅升级适用于 Amazon RDS 的 PostgreSQL 数据库引擎

此版本还包括对 pgroutingpostgresql-hll 扩展的支持,以及对 decoder_raw 可选扩展的支持。

有关 Amazon RDS for PostgreSQL 支持的扩展的完整列表,请参阅Amazon RDS 上支持的 PostgreSQL 扩展

Amazon RDS 上的 PostgreSQL 版本 9.6.3

PostgreSQL 版本 9.6.3 包含几项新功能和错误修复。此版本包括以下功能:

  • 支持扩展 pg_repack 版本 1.4.0。您可以使用此扩展从表和索引中删除多余内容。有关将 pg_repack 与 Amazon RDS 配合使用的更多信息,请参阅使用 pg_repack 扩展

  • 支持扩展 pgaudit 版本 1.1.0。此扩展提供详细的会话和对象审核日志记录。有关将 pgaudit 与 Amazon RDS 结合使用的更多信息,请参阅使用 pgaudit 扩展

  • 支持 wal2json,它是一个用于逻辑解码的输出插件。

  • 支持 auto_explain 扩展。您可以使用此扩展自动记录慢速语句的执行计划。以下示例说明了如何从 Amazon RDS PostgreSQL 会话中使用 auto_explain

    LOAD '$libdir/plugins/auto_explain';

    有关使用 auto_explain 的更多信息,请参阅 PostgreSQL 文档

Amazon RDS 上的 PostgreSQL 版本 9.6.2

PostgreSQL 版本 9.6.2 包含几项新功能和错误修复。新版本还包含以下扩展版本:

  • PostGIS 版本 2.3.2

  • pg_freespacemap 版本 1.1–提供了一种检查空闲空间映射表 (FSM) 的方式。此扩展提供一个名为 pg_freespace 的重载函数。此函数显示指定页面或关系中的所有页面在空闲空间映射表中记录的值。

  • pg_hint_plan 版本 1.1.3– 在 SQL 语句的开头使用提示性短语控制执行计划。

  • log_fdw 版本 1.0–通过使用 Amazon RDS 的这一扩展,您可以在数据库内加载并查询您的数据库引擎日志。有关更多信息,请参阅使用 log_fdw 扩展

  • 现在,您可以通过此版本发布在数据库参数组中编辑 max_worker_processes 参数。

Amazon RDS 上的 PostgreSQL 版本 9.6.2 还支持更改枚举值。有关更多信息,请参阅适用于 PostgreSQL 的 ALTER ENUM

有关 9.6.2 中的修复的更多信息,请参阅 PostgreSQL 文档。有关为 PostgreSQL 数据库实例升级引擎版本的信息,请参阅升级适用于 Amazon RDS 的 PostgreSQL 数据库引擎

Amazon RDS 上的 PostgreSQL 版本 9.6.1

PostgreSQL 版本 9.6.1 包含几项新功能和改进。有关 PostgreSQL 9.6.1 中的修复和改进的更多信息,请参阅 PostgreSQL 文档。有关为 PostgreSQL 数据库实例升级引擎版本的信息,请参阅升级适用于 Amazon RDS 的 PostgreSQL 数据库引擎。有关使用 Amazon RDS for PostgreSQL 9.6.1 执行并行查询和阶段搜索的信息,请参阅 AWS 数据库博客

PostgreSQL 版本 9.6.1 包括以下更改:

  • 并行查询处理:支持并行处理大型的只读查询,允许并行运行顺序扫描、哈希联接、嵌套循环和聚合。默认情况下,不启用并行查询处理。要允许处理并行查询,请将 max_parallel_workers_per_gather 参数设置为大于零的值。

  • 更新了 postgres_fdw 扩展:支持远程 JOIN、SORT、UPDATE 和 DELETE 操作。

  • plv8 更新:提供 plv8 语言的版本 1.5.3。

  • PostGIS 版本更新:支持 POSTGIS="2.3.0 r15146" GEOS="3.5.0-CAPI-1.9.0 r4084" PROJ="Rel.4.9.2, 08 September 2015" GDAL="GDAL 2.1.1, released 2016/07/07" LIBXML="2.9.1" LIBJSON="0.12" RASTER

  • Vacuum 改进:避免在 vacuum 冻结操作期间不必要地扫描页面。

  • 全文搜索支持短语:支持在 tsquery 输入中使用新运算符 <-> 和 <N> 指定短语搜索查询。

  • 支持两个新扩展

    • bloom,一个基于 Bloom 筛选条件的索引访问方法

    • pg_visibility,提供一种用于检查表的可见性图和页面级可见性信息的方法。

  • 利用 9.6.2 版本发布,现在您可以在 PostgreSQL 版本 9.6.1 数据库参数组中编辑 max_worker_processes 参数。

您可以使用 AWS 管理控制台、AWS CLI 或 RDS API 创建新的 PostgreSQL 9.6.1 数据库实例。也可以使用主要版本升级,将现有的 PostgreSQL 9.5 实例升级到版本 9.6.1。如果您想将版本 9.4 的数据库实例升级到版本 9.6,您必须先执行点击式升级,升级到下一个主要版本。每个升级操作导致数据库实例在一小段时间内不可用。

PostgreSQL 版本 9.5

Amazon RDS 上的 PostgreSQL 版本 9.5.25

PostgreSQL 版本 9.5.25 现在可在 Amazon RDS 上使用。PostgreSQL 版本 9.5.25 包含针对 PostgreSQL 版本 9.5.25 推出的多项改进。

有关所有扩展的信息,请参阅 Amazon RDS 上支持的 PostgreSQL 版本 9.5.x 扩展

Amazon RDS 上的 PostgreSQL 版本 9.5.24

PostgreSQL 版本 9.5.24 现可在 Amazon RDS 上使用。PostgreSQL 版本 9.5.24 包含针对 PostgreSQL 版本 9.5.24 推出的多项改进。

有关所有扩展的信息,请参阅 Amazon RDS 上支持的 PostgreSQL 版本 9.5.x 扩展

Amazon RDS 上的 PostgreSQL 版本 9.5.23

PostgreSQL 版本 9.5.23 现可在 Amazon RDS 上使用。PostgreSQL 版本 9.5.23 包含针对 PostgreSQL 版本 9.5.23 推出的多项改进。

有关所有扩展的信息,请参阅 Amazon RDS 上支持的 PostgreSQL 版本 9.5.x 扩展

Amazon RDS 上的 PostgreSQL 版本 9.5.22

PostgreSQL 版本 9.5.22 包含对版本 9.5.21 中的问题的几项错误修复。有关 PostgreSQL 9.5.22 中的修复的更多信息,请参阅 PostgreSQL 9.5.22 文档

此版本还包含以下更改:

  1. pg_hint_plan 扩展升级为版本 1.1.9。

有关所有扩展的信息,请参阅 Amazon RDS 上支持的 PostgreSQL 版本 9.5.x 扩展

Amazon RDS 上的 PostgreSQL 版本 9.5.21

PostgreSQL 版本 9.5.21 包含对版本 9.5.20 中的问题的几项错误修复。有关 PostgreSQL 9.5.21 中的修复的更多信息,请参阅 PostgreSQL 9.5.21 文档

Amazon RDS 上的 PostgreSQL 版本 9.5.20

PostgreSQL 版本 9.5.20 包含对版本 9.5.19 中的问题的几项错误修复。有关 PostgreSQL 9.5.20 中的修复的更多信息,请参阅 PostgreSQL 文档

Amazon RDS 上的 PostgreSQL 版本 9.5.19

PostgreSQL 版本 9.5.19 包含对版本 9.5.18 中的问题的几项错误修复。有关 PostgreSQL 9.5.19 中的修复的更多信息,请参阅 PostgreSQL 文档

PostGIS 扩展已更新为版本 2.5.2。

Amazon RDS 上的 PostgreSQL 版本 9.5.18

此版本包含 PostgreSQL 社区完成的错误修复和改进。

在此版本中,pg_hint_plan 扩展已更新为 1.1.8 版。

有关 PostgreSQL 9.5.18 中的修复的更多信息,请参阅 PostgreSQL 文档

Amazon RDS 上的 PostgreSQL 版本 9.5.16

PostgreSQL 版本 9.5.16 包含对版本 9.5.15 中的问题的几项错误修复。有关 9.5.16 中的修复的更多信息,请参阅 PostgreSQL 文档。有关为 PostgreSQL 数据库实例升级引擎版本的信息,请参阅升级适用于 Amazon RDS 的 PostgreSQL 数据库引擎

有关 Amazon RDS for PostgreSQL 支持的扩展的完整列表,请参阅Amazon RDS 上支持的 PostgreSQL 扩展

Amazon RDS 上的 PostgreSQL 版本 9.5.15

PostgreSQL 版本 9.5.15 包含对版本 9.5.14 中的问题的几项错误修复。有关 9.5.15 中的修复的更多信息,请参阅 PostgreSQL 文档。有关为 PostgreSQL 数据库实例升级引擎版本的信息,请参阅升级适用于 Amazon RDS 的 PostgreSQL 数据库引擎

有关 Amazon RDS for PostgreSQL 支持的扩展的完整列表,请参阅Amazon RDS 上支持的 PostgreSQL 扩展

Amazon RDS 上的 PostgreSQL 版本 9.5.14

PostgreSQL 版本 9.5.14 包含对版本 9.5.13 中的问题的几项错误修复。有关 9.5.14 中的修复的更多信息,请参阅 PostgreSQL 文档

有关为 PostgreSQL 数据库实例升级引擎版本的信息,请参阅升级适用于 Amazon RDS 的 PostgreSQL 数据库引擎

有关 Amazon RDS for PostgreSQL 支持的扩展的完整列表,请参阅Amazon RDS 上支持的 PostgreSQL 扩展

Amazon RDS 上的 PostgreSQL 版本 9.5.13

PostgreSQL 版本 9.5.13 包含对版本 9.5.12 中的问题的几项错误修复。有关 9.5.13 中的修复的更多信息,请参阅 PostgreSQL 文档。有关为 PostgreSQL 数据库实例升级引擎版本的信息,请参阅升级适用于 Amazon RDS 的 PostgreSQL 数据库引擎

此版本包含以下扩展更新:

  • pgaudit 扩展更新为版本 1.0.6。请参阅使用 pgaudit 扩展

  • pg_hint_plan 扩展更新为版本 1.1.5。

  • plv8 扩展更新为版本 2.1.2。

有关 Amazon RDS for PostgreSQL 支持的扩展的完整列表,请参阅Amazon RDS 上支持的 PostgreSQL 扩展

Amazon RDS 上的 PostgreSQL 版本 9.5.12

PostgreSQL 版本 9.5.12 包含针对版本 9.5.10 中问题的多个错误修复。有关 9.5.12 中的修复的更多信息,请参阅 PostgreSQL 文档。有关为 PostgreSQL 数据库实例升级引擎版本的信息,请参阅升级适用于 Amazon RDS 的 PostgreSQL 数据库引擎

有关 Amazon RDS for PostgreSQL 支持的扩展的完整列表,请参阅Amazon RDS 上支持的 PostgreSQL 扩展

Amazon RDS 上的 PostgreSQL 版本 9.5.10

PostgreSQL 版本 9.5.10 包含对版本 9.5.9 中的问题的几项错误修复。有关 9.5.10 中的修复的更多信息,请参阅 PostgreSQL 文档。有关为 PostgreSQL 数据库实例升级引擎版本的信息,请参阅升级适用于 Amazon RDS 的 PostgreSQL 数据库引擎

Amazon RDS 上的 PostgreSQL 版本 9.5.9

PostgreSQL 版本 9.5.9 包含对版本 9.5.8 中的问题的几项错误修复。有关 9.5.9 中的修复的更多信息,请参阅 PostgreSQL 文档。有关为 PostgreSQL 数据库实例升级引擎版本的信息,请参阅升级适用于 Amazon RDS 的 PostgreSQL 数据库引擎

Amazon RDS 上的 PostgreSQL 版本 9.5.7

PostgreSQL 版本 9.5.7 包含几项新功能和错误修复。此版本包括以下功能:

  • 支持扩展 pgaudit 版本 1.0.5。此扩展提供详细的会话和对象审核日志记录。有关将 pgaudit 与 Amazon RDS 配合使用的更多信息,请参阅使用 pgaudit 扩展

  • 支持 wal2json,它是一个用于逻辑解码的输出插件。

  • 支持 auto_explain 扩展。您可以使用此扩展自动记录慢速语句的执行计划。以下示例说明了如何从 Amazon RDS PostgreSQL 会话中使用 auto_explain。​

    LOAD '$libdir/plugins/auto_explain';

    有关使用 auto_explain 的更多信息,请参阅 PostgreSQL 文档

Amazon RDS 上的 PostgreSQL 版本 9.5.6

PostgreSQL 版本 9.5.6 包含几项新功能和错误修复。新版本还包含以下扩展版本:

  • PostGIS 版本 2.2.5

  • pg_freespacemap 版本 1.1–提供了一种检查空闲空间映射表 (FSM) 的方式。此扩展提供一个名为 pg_freespace 的重载函数。此函数显示指定给定页面或关系中的所有页面在空闲空间映射表中记录的值。

  • pg_hint_plan 版本 1.1.3– 在 SQL 语句的开头使用提示性短语控制执行计划。

Amazon RDS 上的 PostgreSQL 版本 9.5.6 还支持更改枚举值。有关更多信息,请参阅适用于 PostgreSQL 的 ALTER ENUM

有关 9.5.6 中的修复的更多信息,请参阅 PostgreSQL 文档。有关为 PostgreSQL 数据库实例升级引擎版本的信息,请参阅升级适用于 Amazon RDS 的 PostgreSQL 数据库引擎

Amazon RDS 上的 PostgreSQL 版本 9.5.4

PostgreSQL 9.5.4 版包含若干对早期版本中发现的问题的修复。有关 9.5.4 中的修复的更多信息,请参阅 PostgreSQL 文档。有关为 PostgreSQL 数据库实例升级引擎版本的信息,请参阅升级适用于 Amazon RDS 的 PostgreSQL 数据库引擎

PostgreSQL 支持使用逻辑复制解码的 WAL 更改流式处理。Amazon RDS 支持 PostgreSQL 版本 9.5.4 及更高版本的逻辑复制。有关 Amazon RDS 上的 PostgreSQL 逻辑复制的更多信息,请参阅 Amazon RDS 上 PostgreSQL 的逻辑复制

从 Amazon RDS 的 PostgreSQL 版本 9.5.4 开始,支持使用 ALTER USER WITH BYPASSRLS 命令。

PostgreSQL 版本 9.5.4 及更高版本支持事件触发器,并且 Amazon RDS 支持这些版本的事件触发器。可使用主用户账户创建、修改、重命名和删除事件触发器。事件触发器位于数据库实例级别,因此,它们可应用于实例上的所有数据库。有关 Amazon RDS 上的 PostgreSQL 事件触发器的更多信息,请参阅 Amazon RDS 上 PostgreSQL 的事件触发器

Amazon RDS 上的 PostgreSQL 版本 9.5.2

PostgreSQL 9.5.2 版包含若干对早期版本中发现的问题的修复。有关 9.5.2 中功能的更多信息,请参阅 PostgreSQL 文档。有关为 PostgreSQL 数据库实例升级引擎版本的信息,请参阅升级适用于 Amazon RDS 的 PostgreSQL 数据库引擎

PostgreSQL 版本 9.5.2 不支持 db.m1 或 db.m2 数据库实例类。如果您需要将运行 PostgreSQL 9.4 版的数据库实例升级到 9.5.2 版以使用其中一个实例类,则需要对计算进行缩放。为此,您需要类似的 db.t2 或 db.m3 数据库实例类,然后才能将运行 PostgreSQL 版本 9.4 的数据库实例升级到运行版本 9.5.2。有关数据库实例类的更多信息,请参阅数据库实例类

本机 PostgreSQL 版本 9.5.2 引入了命令 ALTER USER WITH BYPASSRLS。

此版本包含以前的版本中的更新,包括:

  • CVE-2016-2193:修复了一个问题,即,多个 ROLE 在同一会话中可能重复使用查询计划。重复使用查询计划可能导致查询使用一组错误的行级别安全性 (RLS) 策略。

  • CVE-2016-3065:修复了通过对 BRIN 索引页使用 pageinspect 触发的服务器崩溃错误。由于攻击者或许能够公开一部分服务器内存,此崩溃被视为安全问题。

RDS for PostgreSQL 9.5 中的主要改进包括:

  • UPSERT:允许 INSERT 以生成将变为 UPDATE 或忽略的约束冲突

  • 增加 GROUP BY 分析功能 GROUPING SETS、CUBE 和 ROLLUP

  • 增加行级别安全性控制

  • 创建跟踪复制进度的机制,包括在逻辑复制期间识别单个更改源的方法

  • 增加数据块范围索引 (BRIN)

  • 增加大量排序性能改进

  • 增加大量针对 CPU 计算机的性能改进

  • PostGIS 2.2.2 - 要使用此最新版本的 PostGIS,请在升级到版本 9.5.2 后使用 ALTER EXTENSION UPDATE 语句进行更新。例如:

    ALTER EXTENSION POSTGIS UPDATE TO '2.2.2'

  • 通过允许 rds_superuser 账户查看 pg_stat_activity 中的 autovacuum 活动提高了对 autovacuum 会话的可见性。例如,您可识别并终止阻止命令运行或运行速度慢于手动发出的 vacuum 命令的 autovacuum 会话。

RDS for PostgreSQL 版本 9.5.2 包括以下新扩展:

  • address_standardizer – 一行地址分析程序,其采用输入地址并根据存储在表、帮助程序 lex 和 gaz 表中的一组规则规范化地址。

  • hstore_plperl – 为 PL/Perl 提供 hstore 类型的转换。

  • tsm_system_rows – 提供表采样方法 SYSTEM_ROWS,此方法可在 SELECT 命令的 TABLESAMPLE 子句中使用。

  • tsm_system_time – 提供表采样方法 SYSTEM_TIME,此方法可在 SELECT 命令的 TABLESAMPLE 子句中使用。

Amazon RDS 上支持的 PostgreSQL 扩展

Aurora PostgreSQL 支持许多 PostgreSQL 扩展。PostgreSQL 社区有时将这些扩展称为模块。扩展针对 PostgreSQL 引擎提供的功能进行了扩展。您可以在 PostgreSQL 版本的默认数据库参数组中找到 Amazon RDS 支持的扩展列表。您还可使用 psql 通过显示 rds.extensions 参数来查看当前扩展列表,如以下示例中所示。

SHOW rds.extensions;
注意

psql 中使用 rds.extensions 参数时,可能不会准确显示在次要版本中添加的参数。

以下部分说明了 Amazon RDS 针对主要 PostgreSQL 版本支持的扩展。

限制 PostgreSQL 扩展的安装

您可以限制在 PostgreSQL 数据库实例上安装哪些扩展。为此,请将 rds.allowed_extensions 参数设置为一串以逗号分隔的扩展名称。然后,只有这些扩展才能安装在 PostgreSQL 数据库实例中。

rds.allowed_extensions 参数的默认字符串为 '*',这意味着可以安装引擎版本可用的任何扩展。更改 rds.allowed_extensions 参数不需要重新启动数据库,因为它是动态参数。

PostgreSQL 数据库实例引擎必须是以下版本之一才能使用 rds.allowed_extensions 参数:

  • PostgreSQL 13.2 或更高的次要版本

  • PostgreSQL 12.6 或更高的次要版本

要查看允许哪些扩展安装,请使用以下 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".

Amazon RDS 上支持的 PostgreSQL 版本 13 扩展

下表所示为 Amazon RDS 上目前支持的 PostgreSQL 版本 13 的 PostgreSQL 扩展。有关 PostgreSQL 扩展的更多信息,请参阅将相关对象打包为扩展

扩展 13.1 13.2
address_standardizer 3.0.2 3.0.2
address_standardizer_data_us 3.0.2 3.0.2
amcheck 1.2 1.2
aws_commons 1.1 1.1
aws_lambda NA 1.0
aws_s3.table_import_from_s3 aws_s3.query_export_to_s3 1.1 1.1
bloom 1.0 1.0
bool_plperl 1.0 1.0
btree_gin 1.3 1.3
btree_gist 1.5 1.5
citext 1.6 1.6
cube 1.4 1.4
dblink 1.2 1.2
dict_int 1.0 1.0
dict_xsyn 1.0 1.0
earthdistance 1.1 1.1
fuzzystrmatch 1.1 1.1
hll 2.15 2.15
hstore 1.7 1.7
hstore_plperl 1.0 1.0
ICU 模块 60.2 60.2
intagg 1.1 1.1
intarray 1.3 1.3
ip4r 2.4 2.4
isn 1.2 1.2
jsonb_plperl 1.0 1.0
log_fdw 1.2 1.2
ltree 1.2 1.2
orafce 3.13.4 3.13.4
pageinspect 1.8 1.8
pg_bigm NA 1.2
pg_buffercache 1.3 1.3
pg_cron 1.3.0 1.3.0
pg_freespacemap 1.2 1.2
pg_hint_plan 1.3.7 1.3.7
pg_partman 4.4.0 4.4.0
pg_prewarm 1.2 1.2
pg_proctab 0.0.9 0.0.9
pg_repack 1.4.6 1.4.6
pg_similarity 1.0 1.0
pg_stat_statements 1.8 1.8
pg_transport 1.0 1.0
pg_trgm 1.5 1.5
pg_visibility 1.2 1.2
pgaudit 1.5 1.5
pgcrypto 1.3 1.3
pglogical 2.3.3 2.3.3
pgrouting 3.1.0 3.1.0
pgrowlocks 1.2 1.2
pgstattuple 1.5 1.5
pgTAP 1.1.0 1.1.0
plcoffee 2.3.15 2.3.15
plls 2.3.15 2.3.15
plperl 1.0 1.0
plpgsql 1.0 1.0
plprofiler 4.1 4.1
pltcl 1.0 1.0
plv8 2.3.15 2.3.15
PostGIS 3.0.2 3.0.2
postgis_raster 3.0.2 3.0.2
postgis_tiger_geocoder 3.0.2 3.0.2
postgis_topology 3.0.2 3.0.2
postgres_fdw 1.0 1.0
prefix 1.2.0 1.2.0
rdkit 3.8 3.8
sslinfo 1.2 1.2
tablefunc 1.0 1.0
test_parser 1.0 1.0
tsm_system_rows 1.0 1.0
tsm_system_time 1.0 1.0
unaccent 1.1 1.1
uuid-ossp 1.1 1.1
wal2json 2.3 2.3

PostgreSQL 可信扩展

安装大部分 PostgreSQL 扩展都需要具备 rds_superuser 权限。PostgreSQL 13 推出了可信扩展,这些扩展减少了向普通用户授予 rds_superuser 权限的需求。使用此功能,用户可以安装许多扩展(如果他们具有对当前数据库的 CREATE 权限,而不要求具备 rds_superuser 角色)。有关详细信息,请参阅 PostgreSQL 文档中的 SQL 创建扩展命令。

下面列出了具有对当前数据库的 CREATE 权限,但不需要具备 rds_superuser 角色的用户可以安装的扩展:

Amazon RDS 上支持的 PostgreSQL 版本 12 扩展

下表所示为 Amazon RDS 上目前支持的 PostgreSQL 版本 12 的 PostgreSQL 扩展。有关 PostgreSQL 扩展的更多信息,请参阅将相关对象打包为扩展

扩展 12.2 12.3 12.4 12.5 12.6
address_standardizer 3.0.0 3.0.0 3.0.0 3.0.0 3.0.2
address_standardizer_data_us 3.0.0 3.0.0 3.0.0 3.0.0 3.0.2
amcheck 1.2 1.2 1.2 1.2 1.2
aws_commons 1.0 1.0 1.0 1.0 1.0
aws_lambda NA NA NA NA 1.0
aws_s3.table_import_from_s3 aws_s3.query_export_to_s3 1.0 1.0 1.1 1.1 1.1
bloom 1.0 1.0 1.0 1.0 1.0
btree_gin 1.3 1.3 1.3 1.3 1.3
btree_gist 1.5 1.5 1.5 1.5 1.5
citext 1.6 1.6 1.6 1.6 1.6
cube 1.4 1.4 1.4 1.4 1.4
dblink 1.2 1.2 1.2 1.2 1.2
dict_int 1.0 1.0 1.0 1.0 1.0
dict_xsyn 1.0 1.0 1.0 1.0 1.0
earthdistance 1.1 1.1 1.1 1.1 1.1
fuzzystrmatch 1.1 1.1 1.1 1.1 1.1
hll 2.14 2.14 2.14 2.14 2.14
hstore 1.6 1.6 1.6 1.6 1.6
hstore_plperl 1.0 1.0 1.0 1.0 1.0
ICU 模块 60.2 60.2 60.2 60.2 60.2
intagg 1.1 1.1 1.1 1.1 1.1
intarray 1.2 1.2 1.2 1.2 1.2
ip4r 2.4 2.4 2.4 2.4 2.4
isn 1.2 1.2 1.2 1.2 1.2
jsonb_plperl 1.0 1.0 1.0 1.0 1.0
log_fdw 1.1 1.1 1.1 1.1 1.1
ltree 1.1 1.1 1.1 1.1 1.1
orafce 3.8 3.8 3.8 3.8 3.8
pageinspect 1.7 1.7 1.7 1.7 1.7
pg_bigm NA NA NA NA 1.2
pg_buffercache 1.3 1.3 1.3 1.3 1.3
pg_cron NA NA NA 1.3.0 1.3.0
pg_freespacemap 1.2 1.2 1.2 1.2 1.2
pg_hint_plan 1.3.4 1.3.5 1.3.5 1.3.5 1.3.5
pg_partman NA NA NA 4.4.0 4.4.0
pg_prewarm 1.2 1.2 1.2 1.2 1.2
pg_proctab NA NA 0.0.9 0.0.9 0.0.9
pg_repack 1.4.5 1.4.5 1.4.5 1.4.5 1.4.5
pg_similarity 1.0 1.0 1.0 1.0 1.0
pg_stat_statements 1.7 1.7 1.7 1.7 1.7
pg_transport 1.0 1.0 1.0 1.0 1.0
pg_trgm 1.4 1.4 1.4 1.4 1.4
pg_visibility 1.2 1.2 1.2 1.2 1.2
pgaudit 1.4 1.4 1.4 1.4 1.4
pgcrypto 1.3 1.3 1.3 1.3 1.3
pglogical 2.3.0 2.3.1 2.3.2 2.3.2 2.3.2
pgrouting 3.0.0 3.0.0 3.0.0 3.0.0 3.0.0
pgrowlocks 1.2 1.2 1.2 1.2 1.2
pgstattuple 1.5 1.5 1.5 1.5 1.5
pgTAP 1.1.0 1.1.0 1.1.0 1.1.0 1.1.0
plcoffee 2.3.14 2.3.14 2.3.14 2.3.14 2.3.14
plls 2.3.14 2.3.14 2.3.14 2.3.14 2.3.14
plperl 1.0 1.0 1.0 1.0 1.0
plpgsql 1.0 1.0 1.0 1.0 1.0
plprofiler 4.1 4.1 4.1 4.1 4.1
pltcl 1.0 1.0 1.0 1.0 1.0
plv8 2.3.14 2.3.14 2.3.14 2.3.14 2.3.14
PostGIS 3.0.0 3.0.0 3.0.0 3.0.0 3.0.2
postgis_raster 3.0.0 3.0.0 3.0.0 3.0.0 3.0.2
postgis_tiger_geocoder 3.0.0 3.0.0 3.0.0 3.0.0 3.0.2
postgis_topology 3.0.0 3.0.0 3.0.0 3.0.0 3.0.2
postgres_fdw 1.0 1.0 1.0 1.0 1.0
prefix 1.2.0 1.2.0 1.2.0 1.2.0 1.2.0
rdkit NA NA 3.8 3.8 3.8
sslinfo 1.2 1.2 1.2 1.2 1.2
tablefunc 1.0 1.0 1.0 1.0 1.0
test_parser 1.0 1.0 1.0 1.0 1.0
tsm_system_rows 1.0 1.0 1.0 1.0 1.0
tsm_system_time 1.0 1.0 1.0 1.0 1.0
unaccent 1.1 1.1 1.1 1.1 1.1
uuid-ossp 1.1 1.1 1.1 1.1 1.1
wal2json 2.1 2.1 2.3 2.3 2.3

Amazon RDS 上支持的 PostgreSQL 版本 11.x 扩展

下表所示为 Amazon RDS 上的 PostgreSQL 目前支持的 PostgreSQL 版本 11.x 的 PostgreSQL 扩展。“N/A”表示该扩展不适用于该 PostgreSQL 版本。有关 PostgreSQL 扩展的更多信息,请参阅将相关对象打包为扩展

扩展 11.1 11.2 11.4 11.5 11.6 11.7 11.8 11.9 11.10 11.11
address_standardizer 2.5.1 2.5.1 2.5.1 2.5.1 2.5.1 2.5.1 2.5.1 2.5.1 2.5.1 2.5.1
address_standardizer_data_us 2.5.1 2.5.1 2.5.1 2.5.1 2.5.1 2.5.1 2.5.1 2.5.1 2.5.1 2.5.1
aws_s3.table_import_from_s3 aws_s3.query_export_to_s3 不适用 不适用 不适用 不适用 不适用 不适用 不适用 1.1 1.1 1.1
amcheck
auto_explain
bloom 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0
btree_gin 1.3 1.3 1.3 1.3 1.3 1.3 1.3 1.3 1.3 1.3
btree_gist 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5
citext 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5
cube 1.4 1.4 1.4 1.4 1.4 1.4 1.4 1.4 1.4 1.4
dblink 1.2 1.2 1.2 1.2 1.2 1.2 1.2 1.2 1.2 1.2
decoder_raw
dict_int 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0
dict_xsyn 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0
earthdistance 1.1 1.1 1.1 1.1 1.1 1.1 1.1 1.1 1.1 1.1
fuzzystrmatch 1.1 1.1 1.1 1.1 1.1 1.1 1.1 1.1 1.1 1.1
hstore 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5
hstore_plperl 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0
ICU 模块 60.2 60.2 60.2 60.2 60.2 60.2 60.2 60.2 60.2 60.2
intagg 1.1 1.1 1.1 1.1 1.1 1.1 1.1 1.1 1.1 1.1
intarray 1.2 1.2 1.2 1.2 1.2 1.2 1.2 1.2 1.2 1.2
ip4r 2.3 2.3 2.3 2.3 2.3 2.3 2.3 2.3 2.3 2.3
isn 1.2 1.2 1.2 1.2 1.2 1.2 1.2 1.2 1.2 1.2
log_fdw 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0
libprotobuf 1.3.0 1.3.0 1.3.0 1.3.0 1.3.0 1.3.0 1.3.0 1.3.0 1.3.0 1.3.0
ltree 1.1 1.1 1.1 1.1 1.1 1.1 1.1 1.1 1.1 1.1
orafce 3.7 3.7 3.7 3.7 3.7 3.8 3.8 3.8 3.8 3.8
pageinspect 1.6 1.6 1.6 1.6 1.6 1.6 1.6 1.6 1.6 1.6
pg_bigm NA NA NA NA NA NA NA NA NA 1.2
pg_buffercache 1.3 1.3 1.3 1.3 1.3 1.3 1.3 1.3 1.3 1.3
pg_freespacemap 1.2 1.2 1.2 1.2 1.2 1.2 1.2 1.2 1.2 1.2
pg_hint_plan 1.3.2 1.3.2 1.3.4 1.3.4 1.3.4 1.3.4 1.3.5 1.3.5 1.3.5 1.3.5
pg_prewarm 1.2 1.2 1.2 1.2 1.2 1.2 1.2 1.2 1.2 1.2
pg_proctab 不适用 不适用 不适用 不适用 不适用 不适用 不适用 0.0.9 0.0.9 0.0.9
pg_repack 1.4.4 1.4.4 1.4.4 1.4.4 1.4.4 1.4.4 1.4.4 1.4.4 1.4.4 1.4.4
pg_similarity 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0
pg_stat_statements 1.6 1.6 1.6 1.6 1.6 1.6 1.6 1.6 1.6 1.6
pg_transport 不适用 不适用 不适用 1.0 1.0 1.0 1.0 1.0 1.0 1.0
pg_trgm 1.4 1.4 1.4 1.4 1.4 1.4 1.4 1.4 1.4 1.4
pg_visibility 1.2 1.2 1.2 1.2 1.2 1.2 1.2 1.2 1.2 1.2
pgaudit 1.3.0 1.3.0 1.3.0 1.3.0 1.3.0 1.3.0 1.3.0 1.3.1 1.3.1 1.3.1
pgcrypto 1.3 1.3 1.3 1.3 1.3 1.3 1.3 1.3 1.3 1.3
pglogical 2.2.1 2.2.1 2.2.1 2.2.1 2.2.1 2.2.1 2.2.1 2.2.2 2.2.2 2.2.2
pgrowlocks 1.2 1.2 1.2 1.2 1.2 1.2 1.2 1.2 1.2 1.2
pgrouting 2.6.1 2.6.1 2.6.1 2.6.1 2.6.1 2.6.1 2.6.1 2.6.1 2.6.1 2.6.1
pgstattuple 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5
pgTAP 不适用 1.0 1.0 1.0 1.1.0 1.1.0 1.1.0 1.1.0 1.1.0 1.1.0
plcoffee 2.3.8 2.3.8 2.3.8 2.3.8 2.3.8 2.3.8 2.3.8 2.3.8 2.3.8 2.3.8
plls 2.3.8 2.3.8 2.3.8 2.3.8 2.3.8 2.3.8 2.3.8 2.3.8 2.3.8 2.3.8
plperl 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0
plpgsql 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0
plprofiler 不适用 不适用 不适用 不适用 4.1 4.1 4.1 4.1 4.1 4.1
pltcl 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0
plv8 2.3.8 2.3.8 2.3.8 2.3.8 2.3.8 2.3.8 2.3.8 2.3.8 2.3.8 2.3.8
PostGIS 2.5.1 2.5.1 2.5.1 2.5.2 2.5.2 2.5.2 2.5.2 2.5.2 2.5.2 2.5.2
postgis_tiger_geocoder 2.5.1 2.5.1 2.5.1 2.5.1 2.5.1 2.5.1 2.5.1 2.5.1 2.5.1 2.5.1
postgis_topology 2.5.1 2.5.1 2.5.1 2.5.1 2.5.1 2.5.1 2.5.1 2.5.1 2.5.1 2.5.1
postgres_fdw 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0
postgresql-hll 2.1.1 2.1.1 2.1.1 2.1.1 2.1.1 2.1.1 2.1.1 2.1.1 2.1.1 2.1.1
prefix 1.2.8 1.2.8 1.2.8 1.2.8 1.2.8 1.2.8 1.2.8 1.2.8 1.2.8 1.2.8
rdkit 不适用 不适用 不适用 不适用 不适用 不适用 不适用 3.8 3.8 3.8
sslinfo 1.2 1.2 1.2 1.2 1.2 1.2 1.2 1.2 1.2 1.2
tablefunc 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0
test_decoding
test_parser 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0
tsm_system_rows 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0
tsm_system_time 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0
unaccent 1.1 1.1 1.1 1.1 1.1 1.1 1.1 1.1 1.1 1.1
uuid-ossp 1.1 1.1 1.1 1.1 1.1 1.1 1.1 1.1 1.1 1.1
wal2json Commit hash 9e962bad Commit hash 9e962bad Commit hash 9e962bad Commit hash 9e962bad Commit hash 9e962bad 2.1 2.1 2.3 2.3 2.3

Amazon RDS 上支持的 PostgreSQL 版本 10.x 扩展

下表所示为 Amazon RDS 上的 PostgreSQL 目前支持的 PostgreSQL 版本 10 的 PostgreSQL 扩展。“N/A”表示该扩展不适用于该 PostgreSQL 版本。有关 PostgreSQL 扩展的更多信息,请参阅将相关对象打包为扩展

扩展 10.1 10.3 10.4 10.5 10.6 10.7 10.9 10.10 10.11 10.12 10.13 10.14 10.15 10.16
address_standardizer 2.4.2 2.4.2 2.4.2 2.4.2 2.4.2 2.4.2 2.4.2 2.4.2 2.4.2 2.4.2 2.4.2 2.4.2 2.4.2 2.4.2
address_standardizer_data_us 2.4.2 2.4.2 2.4.2 2.4.2 2.4.2 2.4.2 2.4.2 2.4.2 2.4.2 2.4.2 2.4.2 2.4.2 2.4.2 2.4.2
amcheck 不适用
auto_explain
aws_s3 不适用 不适用 不适用 不适用 不适用 不适用 不适用 不适用 不适用 不适用 不适用 1.1 1.1 1.1
bloom 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0
btree_gin 1.2 1.2 1.2 1.2 1.2 1.2 1.2 1.2 1.2 1.2 1.2 1.2 1.2 1.2
btree_gist 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5
chkpass 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0
citext 1.4 1.4 1.4 1.4 1.4 1.4 1.4 1.4 1.4 1.4 1.4 1.4 1.4 1.4
cube 1.2 1.2 1.2 1.2 1.2 1.2 1.2 1.2 1.2 1.2 1.2 1.2 1.2 1.2
dblink 1.2 1.2 1.2 1.2 1.2 1.2 1.2 1.2 1.2 1.2 1.2 1.2 1.2 1.2
decoder_raw
dict_int 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0
dict_xsyn 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0
earthdistance 1.1 1.1 1.1 1.1 1.1 1.1 1.1 1.1 1.1 1.1 1.1 1.1 1.1 1.1
fuzzystrmatch 1.1 1.1 1.1 1.1 1.1 1.1 1.1 1.1 1.1 1.1 1.1 1.1 1.1 1.1
hstore 1.4 1.4 1.4 1.4 1.4 1.4 1.4 1.4 1.4 1.4 1.4 1.4 1.4 1.4
hstore_plperl 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0
ICU 模块 60.2 60.2 60.2 60.2 60.2 60.2 60.2 60.2 60.2 60.2 60.2 60.2 60.2 60.2
intagg 1.1 1.1 1.1 1.1 1.1 1.1 1.1 1.1 1.1 1.1 1.1 1.1 1.1 1.1
intarray 1.2 1.2 1.2 1.2 1.2 1.2 1.2 1.2 1.2 1.2 1.2 1.2 1.2 1.2
ip4r 2.0 2.0 2.1.1 2.1.1 2.1.1 2.1.1 2.1.1 2.1.1 2.1.1 2.1.1 2.1.1 2.1.1 2.1.1 2.1.1
isn 1.1 1.1 1.1 1.1 1.1 1.1 1.1 1.1 1.1 1.1 1.1 1.1 1.1 1.1
log_fdw 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0
libprotobuf 不适用 不适用 不适用 1.3.0 1.3.0 1.3.0 1.3.0 1.3.0 1.3.0 1.3.0 1.3.0 1.3.0 1.3.0 1.3.0
ltree 1.1 1.1 1.1 1.1 1.1 1.1 1.1 1.1 1.1 1.1 1.1 1.1 1.1 1.1
orafce 3.6.1 3.6.1 3.6.1 3.6.1 3.6.1 3.6.1 3.6.1 3.6.1 3.6.1 3.8 3.8 3.8 3.8 3.8
pgaudit 1.2.0 1.2.0 1.2.0 1.2.0 1.2.0 1.2.0 1.2.0 1.2.0 1.2.0 1.2.0 1.2.0 1.2.1 1.2.1 1.2.1
pg_buffercache 1.3 1.3 1.3 1.3 1.3 1.3 1.3 1.3 1.3 1.3 1.3 1.3 1.3 1.3
pg_freespacemap 1.2 1.2 1.2 1.2 1.2 1.2 1.2 1.2 1.2 1.2 1.2 1.2 1.2 1.2
pg_hint_plan 1.3.0 1.3.0 1.3.0 1.3.1 1.3.1 1.3.1 1.3.3 1.3.3 1.3.3 1.3.3 1.3.5 1.3.5 1.3.5 1.3.5
pg_prewarm 1.1 1.1 1.1 1.1 1.1 1.1 1.1 1.1 1.1 1.1 1.1 1.1 1.1 1.1
pg_repack 1.4.2 1.4.2 1.4.3 1.4.3 1.4.3 1.4.3 1.4.3 1.4.3 1.4.3 1.4.3 1.4.3 1.4.3 1.4.3 1.4.3
pg_similarity 不适用 不适用 不适用 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0
pg_stat_statements 1.5 1.5 1.5 1.5 1.6 1.6 1.6 1.6 1.6 1.6 1.6 1.6 1.6 1.6
pg_transport 不适用 不适用 不适用 不适用 不适用 不适用 不适用 1.0 1.0 1.0 1.0 1.0 1.0 1.0
pg_trgm 1.3 1.3 1.3 1.3 1.3 1.3 1.3 1.3 1.3 1.3 1.3 1.3 1.3 1.3
pg_visibility 1.2 1.2 1.2 1.2 1.2 1.2 1.2 1.2 1.2 1.2 1.2 1.2 1.2 1.2
pgcrypto 1.3 1.3 1.3 1.3 1.3 1.3 1.3 1.3 1.3 1.3 1.3 1.3 1.3 1.3
pageinspect 不适用 不适用 不适用 1.6 1.6 1.6 1.6 1.6 1.6 1.6 1.6 1.6 1.6 1.6
pglogical 不适用 不适用 不适用 2.2.0 2.2.0 2.2.0 2.2.0 2.2.0 2.2.0 2.2.0 2.2.0 2.2.2 2.2.2 2.2.2
pgrowlocks 1.2 1.2 1.2 1.2 1.2 1.2 1.2 1.2 1.2 1.2 1.2 1.2 1.2 1.2
pgrouting 2.5.2 2.5.2 2.5.2 2.5.2 2.5.2 2.5.2 2.5.2 2.5.2 2.5.2 2.5.2 2.5.2 2.5.2 2.5.2 2.5.2
pgstattuple 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5
plcoffee 2.1.0 2.1.0 2.1.2 2.1.2 2.1.2 2.1.2 2.1.2 2.1.2 2.1.2 2.1.2 2.1.2 2.1.2 2.1.2 2.1.2
plls 2.1.0 2.1.0 2.1.2 2.1.2 2.1.2 2.1.2 2.1.2 2.1.2 2.1.2 2.1.2 2.1.2 2.1.2 2.1.2 2.1.2
plperl 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0
plpgsql 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0
plprofiler 不适用 不适用 不适用 不适用 不适用 不适用 不适用 不适用 4.1 4.1 4.1 4.1 4.1 4.1
pltcl 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0
plv8 2.1.0 2.1.0 2.1.2 2.1.2 2.1.2 2.1.2 2.1.2 2.1.2 2.1.2 2.1.2 2.1.2 2.1.2 2.1.2 2.1.2
PostGIS 2.4.2 2.4.2 2.4.4 2.4.4 2.4.4 2.4.4 2.4.4 2.5.2 2.5.2 2.5.2 2.5.2 2.5.2 2.5.2 2.5.2
postgis_tiger_geocoder 2.4.2 2.4.2 2.4.2 2.4.2 2.4.2 2.4.2 2.4.2 2.4.2 2.4.2 2.4.2 2.4.2 2.4.2 2.4.2 2.4.2
postgis_topology 2.4.2 2.4.2 2.4.2 2.4.2 2.4.2 2.4.2 2.4.2 2.4.2 2.4.2 2.4.2 2.4.2 2.4.2 2.4.2 2.4.2
postgres_fdw 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0
postgresql-hll 2.10.2 2.10.2 2.10.2 2.10.2 2.10.2 2.10.2 2.10.2 2.10.2 2.10.2 2.10.2 2.10.2 2.10.2 2.10.2 2.10.2
prefix 1.2.0 1.2.0 1.2.0 1.2.0 1.2.0 1.2.0 1.2.0 1.2.0 1.2.0 1.2.0 1.2.0 1.2.0 1.2.0 1.2.0
sslinfo 1.2 1.2 1.2 1.2 1.2 1.2 1.2 1.2 1.2 1.2 1.2 1.2 1.2 1.2
tablefunc 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0
test_decoding
test_parser 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0
tsearch2(已弃用) 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0
tsm_system_rows 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0
tsm_system_time 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0
unaccent 1.1 1.1 1.1 1.1 1.1 1.1 1.1 1.1 1.1 1.1 1.1 1.1 1.1 1.1
uuid-ossp 1.1 1.1 1.1 1.1 1.1 1.1 1.1 1.1 1.1 1.1 1.1 1.1 1.1 1.1
wal2json Commit hash 5352cc4 Commit hash 5352cc4 Commit hash 5352cc4 Commit hash 01c5c1e Commit hash 9e962ba Commit hash 9e962ba Commit hash 9e962ba Commit hash 9e962ba Commit hash 9e962ba 2.1 2.1 2.3 2.3 2.3

tsearch2 扩展在版本 10 中已弃用。tsearch2 扩展已从 Amazon RDS 上的 PostgreSQL 版本 11.1 中删除。

Amazon RDS 上支持的 PostgreSQL 版本 9.6.x 扩展

下表所示为 Amazon RDS 上的 PostgreSQL 目前支持的 PostgreSQL 版本 9.6.x 的 PostgreSQL 扩展。“N/A”表示该扩展不适用于该 PostgreSQL 版本。有关 PostgreSQL 扩展的更多信息,请参阅将相关对象打包为扩展

扩展 9.6.1 9.6.2 9.6.3 9.6.5 9.6.6 9.6.8 9.6.9 9.6.10 9.6.11 9.6.12 9.6.14 9.6.15 9.6.16 9.6.17 9.6.18 9.6.19 9.6.20 9.6.21
address_standardizer 2.3.0 2.3.2 2.3.2 2.3.2 2.3.4 2.3.4 2.3.4 2.3.4 2.3.4 2.3.4 2.3.4 2.3.4 2.3.4 2.3.4 2.3.4 2.3.4 2.3.4 2.3.4
address_standardizer_data_us 2.3.0 2.3.2 2.3.2 2.3.2 2.3.4 2.3.4 2.3.4 2.3.4 2.3.4 2.3.4 2.3.4 2.3.4 2.3.4 2.3.4 2.3.4 2.3.4 2.3.4 2.3.4
auto_explain 不适用 不适用
bloom 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0
btree_gin 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0
btree_gist 1.2 1.2 1.2 1.2 1.2 1.2 1.2 1.2 1.2 1.2 1.2 1.2 1.2 1.2 1.2 1.2 1.2 1.2
chkpass 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0
citext 1.3 1.3 1.3 1.3 1.3 1.3 1.3 1.3 1.3 1.3 1.3 1.3 1.3 1.3 1.3 1.3 1.3 1.3
cube 1.2 1.2 1.2 1.2 1.2 1.2 1.2 1.2 1.2 1.2 1.2 1.2 1.2 1.2 1.2 1.2 1.2 1.2
dblink 1.2 1.2 1.2 1.2 1.2 1.2 1.2 1.2 1.2 1.2 1.2 1.2 1.2 1.2 1.2 1.2 1.2 1.2
decoder_raw 不适用 不适用 不适用
dict_int 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0
dict_xsyn 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0
earthdistance 1.1 1.1 1.1 1.1 1.1 1.1 1.1 1.1 1.1 1.1 1.1 1.1 1.1 1.1 1.1 1.1 1.1 1.1
fuzzystrmatch 1.1 1.1 1.1 1.1 1.1 1.1 1.1 1.1 1.1 1.1 1.1 1.1 1.1 1.1 1.1 1.1 1.1 1.1
hstore 1.4 1.4 1.4 1.4 1.4 1.4 1.4 1.4 1.4 1.4 1.4 1.4 1.4 1.4 1.4 1.4 1.4 1.4
hstore_plperl 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0
intagg 1.1 1.1 1.1 1.1 1.1 1.1 1.1 1.1 1.1 1.1 1.1 1.1 1.1 1.1 1.1 1.1 1.1 1.1
intarray 1.2 1.2 1.2 1.2 1.2 1.2 1.2 1.2 1.2 1.2 1.2 1.2 1.2 1.2 1.2 1.2 1.2 1.2
ip4r 2.0 2.0 2.0 2.0 2.0 2.0 2.1.1 2.1.1 2.1.1 2.1.1 2.1.1 2.1.1 2.1.1 2.1.1 2.1.1 2.1.1 2.1.1 2.1.1
isn 1.1 1.1 1.1 1.1 1.1 1.1 1.1 1.1 1.1 1.1 1.1 1.1 1.1 1.1 1.1 1.1 1.1 1.1
log_fdw 不适用 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0
ltree 1.1 1.1 1.1 1.1 1.1 1.1 1.1 1.1 1.1 1.1 1.1 1.1 1.1 1.1 1.1 1.1 1.1 1.1
orafce 不适用 不适用 不适用 不适用 3.6.1 3.6.1 3.6.1 3.6.1 3.6.1 3.6.1 3.6.1 3.6.1 3.6.1 3.8 3.8 3.8 3.8 3.8
pgaudit 不适用 不适用 1.1 1.1 1.1 1.1 1.1.1 1.1.1 1.1.1 1.1.1 1.1.1 1.1.1 1.1.1 1.1.1 1.1.1 1.1.2 1.1.2 1.1.2
pg_buffercache 1.2 1.2 1.2 1.2 1.2 1.2 1.2 1.2 1.2 1.2 1.2 1.2 1.2 1.2 1.2 1.2 1.2 1.2
pg_freespacemap 不适用 1.1 1.1 1.1 1.1 1.1 1.1 1.1 1.1 1.1 1.1 1.1 1.1 1.1 1.1 1.1 1.1 1.1
pg_hint_plan 不适用 1.1.3 1.1.3 1.1.3 1.1.3 1.2.2 1.2.2 1.2.3 1.2.3 1.2.3 1.2.5 1.2.5 1.2.5 1.2.5 1.2.6 1.2.6 1.2.6 1.2.6
pg_prewarm 1.1 1.1 1.1 1.1 1.1 1.1 1.1 1.1 1.1 1.1 1.1 1.1 1.1 1.1 1.1 1.1 1.1 1.1
pg_repack 不适用 不适用 1.4.0 1.4.1 1.4.2 1.4.2 1.4.3 1.4.3 1.4.3 1.4.3 1.4.3 1.4.3 1.4.3 1.4.3 1.4.3 1.4.3 1.4.3 1.4.3
pg_similarity 不适用 不适用 不适用 不适用 不适用 不适用 不适用 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0
pg_stat_statements 1.4 1.4 1.4 1.4 1.4 1.4 1.4 1.4 1.4 1.4 1.4 1.4 1.4 1.4 1.4 1.4 1.4 1.4
pg_trgm 1.3 1.3 1.3 1.3 1.3 1.3 1.3 1.3 1.3 1.3 1.3 1.3 1.3 1.3 1.3 1.3 1.3 1.3
pg_visibility 1.1 1.1 1.1 1.1 1.1 1.1 1.1 1.1 1.1 1.1 1.1 1.1 1.1 1.1 1.1 1.1 1.1 1.1
pgcrypto 1.3 1.3 1.3 1.3 1.3 1.3 1.3 1.3 1.3 1.3 1.3 1.3 1.3 1.3 1.3 1.3 1.3 1.3
pglogical 不适用 不适用 不适用 不适用 不适用 不适用 不适用 2.2.0 2.2.0 2.2.0 2.2.0 2.2.0 2.2.0 2.2.0 2.2.0 2.2.2 2.2.2 2.2.2
pgrowlocks 1.2 1.2 1.2 1.2 1.2 1.2 1.2 1.2 1.2 1.2 1.2 1.2 1.2 1.2 1.2 1.2 1.2 1.2
pgrouting 不适用 不适用 不适用 2.3.2 2.4.2 2.4.2 2.4.2 2.4.2 2.4.2 2.4.2 2.4.2 2.4.2 2.4.2 2.4.2 2.4.2 2.4.2 2.4.2 2.4.2
pgstattuple 1.4 1.4 1.4 1.4 1.4 1.4 1.4 1.4 1.4 1.4 1.4 1.4 1.4 1.4 1.4 1.4 1.4 1.4
plcoffee 1.5.3 1.5.3 1.5.3 1.5.3 1.5.3 2.1.2 2.1.2 2.1.2 2.1.2 2.1.2 2.1.2 2.1.2 2.1.2 2.1.2 2.1.2 2.1.2 2.1.2 2.1.2
plls 1.5.3 1.5.3 1.5.3 1.5.3 1.5.3 2.1.2 2.1.2 2.1.2 2.1.2 2.1.2 2.1.2 2.1.2 2.1.2 2.1.2 2.1.2 2.1.2 2.1.2 2.1.2
plperl 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0
plpgsql 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0
pltcl 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0
plv8 1.5.3 1.5.3 1.5.3 1.5.3 1.5.3 2.1.0 2.1.2 2.1.2 2.1.2 2.1.2 2.1.2 2.1.2 2.1.2 2.1.2 2.1.2 2.1.2 2.1.2 2.1.2
PostGIS 2.3.0 2.3.2 2.3.2 2.3.2 2.3.4 2.3.4 2.3.7 2.3.7 2.3.7 2.3.7 2.3.7 2.5.2 2.5.2 2.5.2 2.5.2 2.5.2 2.5.2 2.5.2
postgis_tiger_geocoder 2.3.0 2.3.2 2.3.2 2.3.2 2.3.4 2.3.4 2.3.4 2.3.4 2.3.4 2.3.4 2.3.4 2.3.4 2.3.4 2.3.4 2.3.4 2.3.4 2.3.4 2.3.4
postgis_topology 2.3.0 2.3.2 2.3.2 2.3.2 2.3.4 2.3.4 2.3.4 2.3.4 2.3.4 2.3.4 2.3.4 2.3.4 2.3.4 2.3.4 2.3.4 2.3.4 2.3.4 2.3.4
postgres_fdw 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0
postgresql-hll 不适用 不适用 不适用 2.10.2 2.10.2 2.10.2 2.10.2 2.10.2 2.10.2 2.10.2 2.10.2 2.10.2 2.10.2 2.10.2 2.10.2 2.10.2 2.10.2 2.10.2
prefix 不适用 不适用 不适用 不适用 1.2.6 1.2.6 1.2.6 1.2.6 1.2.6 1.2.6 1.2.6 1.2.6 1.2.6 1.2.6 1.2.6 1.2.6 1.2.6 1.2.6
sslinfo 1.2 1.2 1.2 1.2 1.2 1.2 1.2 1.2 1.2 1.2 1.2 1.2 1.2 1.2 1.2 1.2 1.2 1.2
tablefunc 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0
test_decoding
test_parser 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0
tsearch2 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0
tsm_system_rows 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0
tsm_system_time 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0
unaccent 1.1 1.1 1.1 1.1 1.1 1.1 1.1 1.1 1.1 1.1 1.1 1.1 1.1 1.1 1.1 1.1 1.1 1.1
uuid-ossp 1.1 1.1 1.1 1.1 1.1 1.1 1.1 1.1 1.1 1.1 1.1 1.1 1.1 1.1 1.1 1.1 1.1 1.1
wal2json 不适用 不适用 Commit hash 2828409 Commit hash 645ab69 Commit hash 645ab69 Commit hash 5352cc4 Commit hash 5352cc4 Commit hash 01c5c1e Commit hash 9e962ba Commit hash 9e962ba Commit hash 9e962ba Commit hash 9e962ba Commit hash 9e962ba 版本 2.1 版本 2.1 版本 2.3 版本 2.3 版本 2.3

Amazon RDS 上支持的 PostgreSQL 版本 9.5.x 扩展

下表所示为 Amazon RDS 上的 PostgreSQL 目前支持的 PostgreSQL 版本 9.5.x 的 PostgreSQL 扩展。“N/A”表示该扩展不适用于该 PostgreSQL 版本。有关 PostgreSQL 扩展的更多信息,请参阅将相关对象打包为扩展

扩展 9.5.2 9.5.4 9.5.6 9.5.7 9.5.9 9.5.10 9.5.12 9.5.13 9.5.14 9.5.15 9.5.16 9.5.18 9.5.19 9.5.20 9.5.21 9.5.22 9.5.23 9.5.24 9.5.25
address_standardizer 2.2.2 2.2.2 2.2.5 2.2.5 2.2.5 2.2.5 2.2.5 2.2.5 2.2.5 2.2.5 2.2.5 2.2.5 2.2.5 2.2.5 2.2.5 2.2.5 2.2.5 2.2.5 2.2.5
address_standardizer_data_us 2.2.2 2.2.2 2.2.5 2.2.5 2.2.5 2.2.5 2.2.5 2.2.5 2.2.5 2.2.5 2.2.5 2.2.5 2.2.5 2.2.5 2.2.5 2.2.5 2.2.5 2.2.5 2.2.5
auto_explain 不适用 不适用 不适用
bloom 不适用 不适用 不适用 不适用 不适用 不适用 不适用 不适用 不适用 不适用 不适用 不适用 不适用 不适用 不适用 不适用 不适用 不适用 不适用
btree_gin 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0
btree_gist 1.1 1.1 1.1 1.1 1.1 1.1 1.1 1.1 1.1 1.1 1.1 1.1 1.1 1.1 1.1 1.1 1.1 1.1 1.1
chkpass 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0
citext 1.1 1.1 1.1 1.1 1.1 1.1 1.1 1.1 1.1 1.1 1.1 1.1 1.1 1.1 1.1 1.1 1.1 1.1 1.1
cube 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0
dblink 1.1 1.1 1.1 1.1 1.1 1.1 1.1 1.1 1.1 1.1 1.1 1.1 1.1 1.1 1.1 1.1 1.1 1.1 1.1
dict_int 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0
dict_xsyn 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0
earthdistance 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0
fuzzystrmatch 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0
hstore 1.3 1.3 1.3 1.3 1.3 1.3 1.3 1.3 1.3 1.3 1.3 1.3 1.3 1.3 1.3 1.3 1.3 1.3 1.3
hstore_plperl 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0
intagg 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0
intarray 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0
ip4r 2.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0
isn 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0
log_fdw 不适用 不适用 不适用 不适用 不适用 不适用 不适用 不适用 不适用 不适用 不适用 不适用 不适用 不适用 不适用 不适用 不适用 不适用 不适用
ltree 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0
pgaudit 不适用 不适用 不适用 1.0.5 1.0.5 1.0.5 1.0.5 1.0.6 1.0.6 1.0.6 1.0.6 1.0.6 1.0.6 1.0.6 1.0.6 1.0.6 1.0.6 1.0.6 1.0.6
pg_buffercache 1.1 1.1 1.1 1.1 1.1 1.1 1.1 1.1 1.1 1.1 1.1 1.1 1.1 1.1 1.1 1.1 1.1 1.1 1.1
pg_freespacemap 不适用 不适用 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0
pg_hint_plan 不适用 不适用 1.1.3 1.1.3 1.1.3 1.1.3 1.1.3 1.1.5 1.1.5 1.1.5 1.1.5 1.1.8 1.1.8 1.1.8 1.1.8 1.1.9 1.1.9 1.1.9 1.1.9
pg_prewarm 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0
pg_stat_statements 1.3 1.3 1.3 1.3 1.3 1.3 1.3 1.3 1.3 1.3 1.3 1.3 1.3 1.3 1.3 1.3 1.3 1.3 1.3
pg_trgm 1.1 1.1 1.1 1.1 1.1 1.1 1.1 1.1 1.1 1.1 1.1 1.1 1.1 1.1 1.1 1.1 1.1 1.1 1.1
pg_visibility 不适用 不适用 不适用 不适用 不适用 不适用 不适用 不适用 不适用 不适用 不适用 不适用 不适用 不适用 不适用 不适用 不适用 不适用 不适用
pgcrypto 1.2 1.2 1.2 1.2 1.2 1.2 1.2 1.2 1.2 1.2 1.2 1.2 1.2 1.2 1.2 1.2 1.2 1.2 1.2
pgrowlocks 1.1 1.1 1.1 1.1 1.1 1.1 1.1 1.1 1.1 1.1 1.1 1.1 1.1 1.1 1.1 1.1 1.1 1.1 1.1
pgstattuple 1.3 1.3 1.3 1.3 1.3 1.3 1.3 1.3 1.3 1.3 1.3 1.3 1.3 1.3 1.3 1.3 1.3 1.3 1.3
plcoffee 1.4.4 1.4.4 1.4.4 1.4.4 1.4.4 1.4.4 2.1.0 2.1.0 2.1.0 2.1.0 2.1.0 2.1.0 2.1.0 2.1.0 2.1.0 2.1.0 2.1.0 2.1.0 2.1.0
plls 1.4.4 1.4.4 1.4.4 1.4.4 1.4.4 1.4.4 2.1.0 2.1.0 2.1.0 2.1.0 2.1.0 2.1.0 2.1.0 2.1.0 2.1.0 2.1.0 2.1.0 2.1.0 2.1.0
plperl 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0
plpgsql 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0
pltcl 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0
plv8 1.4.4 1.4.4 1.4.4 1.4.4 1.4.4 1.4.4 2.1.0 2.1.2 2.1.2 2.1.2 2.1.2 2.1.2 2.1.2 2.1.2 2.1.2 2.1.2 2.1.2 2.1.2 2.1.2
PostGIS 2.2.2 2.2.2 2.2.5 2.2.5 2.2.5 2.2.5 2.2.5 2.2.5 2.2.5 2.2.5 2.2.5 2.2.5 2.5.2 2.5.2 2.5.2 2.5.2 2.5.2 2.5.2 2.5.2
postgis_tiger_geocoder 2.2.2 2.2.2 2.2.5 2.2.5 2.2.5 2.2.5 2.2.5 2.2.5 2.2.5 2.2.5 2.2.5 2.2.5 2.2.5 2.2.5 2.2.5 2.2.5 2.2.5 2.2.5 2.2.5
postgis_topology 2.2.2 2.2.2 2.2.5 2.2.5 2.2.5 2.2.5 2.2.5 2.2.5 2.2.5 2.2.5 2.2.5 2.2.5 2.2.5 2.2.5 2.2.5 2.2.5 2.2.5 2.2.5 2.2.5
postgres_fdw 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0
sslinfo 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0
tablefunc 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0
test_decoding 不适用 不适用
test_parser 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0
tsearch2 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0
tsm_system_rows 不适用 不适用 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0
tsm_system_time 不适用 不适用 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0
unaccent 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0
uuid-ossp 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0
wal2json 不适用 不适用 不适用 Commit hash 2828409 Commit hash 2828409 Commit hash 2828409 Commit hash 2828409 Commit hash 2828409 Commit hash 2828409 Commit hash 2828409 Commit hash 2828409 Commit hash 2828409 Commit hash 2828409 Commit hash 2828409 2.1 2.1 2.1 2.1 2.1

一些支持的 PostgreSQL 功能

Amazon RDS 支持很多最常见的 PostgreSQL 扩展和功能。

使用 log_fdw 扩展

log_fdw 扩展是 Amazon RDS for PostgreSQL 版本 9.6.2 和更高版本中新增的扩展。使用此扩展,您可以通过 SQL 界面访问数据库引擎日志。除了查看 RDS 上默认生成的 stderr 日志文件以外,您还可以查看 CSV 日志 (将 log_destination 参数设置为 csvlog) 并利用整齐地分成几列的数据构建外部表。

此扩展引入了两个新函数,便于创建数据库日志的外部表:

  • list_postgres_log_files() – 列出数据库日志目录中的文件,以及文件大小 (以字节为单位)。

  • create_foreign_table_for_log_file(table_name text, server_name text, log_file_name text) – 针对当前数据库中的指定文件构建外部表。

log_fdw 创建的所有函数均归 rds_superuser 所有。rds_superuser 角色的成员可以将这些函数的访问权限授予其他数据库用户。

以下示例说明了如何使用 log_fdw 扩展。

使用 log_fdw 扩展

  1. 获取 log_fdw 扩展。

    postgres=> CREATE EXTENSION log_fdw; CREATE EXTENSION
  2. 创建日志服务器,作为外部数据包装程序。

    postgres=> CREATE SERVER log_server FOREIGN DATA WRAPPER log_fdw; CREATE SERVER
  3. 选择日志文件列表中的所有文件。

    postgres=> SELECT * from list_postgres_log_files() order by 1;

    示例响应如下所示。

    file_name | file_size_bytes ----------------------------------+----------------- postgresql.log.2016-08-09-22.csv | 1111 postgresql.log.2016-08-09-23.csv | 1172 postgresql.log.2016-08-10-00.csv | 1744 postgresql.log.2016-08-10-01.csv | 1102 (4 rows)
  4. 创建一个表,为只有 "log_entry" 一列的非 CSV 文件。

    postgres=> SELECT create_foreign_table_for_log_file('my_postgres_error_log', 'log_server', 'postgresql.log.2016-08-09-22.csv');

    示例响应如下所示。

    ----------------------------------- (1 row)
  5. 选择日志文件的示例。以下代码检索日志时间和错误消息描述。

    postgres=> SELECT log_time, message from my_postgres_error_log order by 1;

    示例响应如下所示。

    log_time | message ----------------------------------+--------------------------------------------------------------------------- Tue Aug 09 15:45:18.172 2016 PDT | ending log output to stderr Tue Aug 09 15:45:18.175 2016 PDT | database system was interrupted; last known up at 2016-08-09 22:43:34 UTC Tue Aug 09 15:45:18.223 2016 PDT | checkpoint record is at 0/90002E0 Tue Aug 09 15:45:18.223 2016 PDT | redo record is at 0/90002A8; shutdown FALSE Tue Aug 09 15:45:18.223 2016 PDT | next transaction ID: 0/1879; next OID: 24578 Tue Aug 09 15:45:18.223 2016 PDT | next MultiXactId: 1; next MultiXactOffset: 0 Tue Aug 09 15:45:18.223 2016 PDT | oldest unfrozen transaction ID: 1822, in database 1 (7 rows)

升级 plv8

如果使用 plv8 并将 PostgreSQL 升级到新的 plv8 版本,您可以立即利用新扩展。采取下列步骤,以将目录元数据与新版本的 plv8 进行同步。这些步骤是可选的,但我们强烈建议您完成这些步骤以避免元数据错配警告。

将目录元数据与新版本的 plv8 同步

  1. 确认您需要更新。为此,请在连接到实例的情况下运行以下命令。

    select * from pg_available_extensions where name in ('plv8','plls','plcoffee');

    如果您的结果包含的已安装版本的值低于默认版本,请继续该过程以更新扩展。

    例如,以下结果集指示您应更新。

    name | default_version | installed_version | comment --------+-----------------+-------------------+-------------------------------------------------- plls | 2.1.0 | 1.5.3 | PL/LiveScript (v8) trusted procedural language plcoffee| 2.1.0 | 1.5.3 | PL/CoffeeScript (v8) trusted procedural language plv8 | 2.1.0 | 1.5.3 | PL/JavaScript (v8) trusted procedural language (3 rows)
  2. 为您的实例拍摄快照作为预防措施,因为升级会删除您的所有 plv8 功能。创建快照时,您可以继续下列步骤。

    有关创建快照的步骤,请参阅创建数据库快照

  3. 获取您的数据库实例中 plv8 函数的数量计数,以便您可确认它们在升级后全部未变动。

    以下代码将返回在 plv8、plcoffee 或 plls 中写入的函数的数量。

    select proname, nspname, lanname from pg_proc p, pg_language l, pg_namespace n where p.prolang = l.oid and n.oid = p.pronamespace and lanname in ('plv8','plcoffee','plls');
  4. 使用 pg_dump 创建仅架构转储文件。

    以下代码在客户端计算机的上 /tmp 目录中创建一个文件。

    ./pg_dump -Fc --schema-only -U master postgres > /tmp/test.dmp

    该示例使用以下选项:

    • -FC“格式自定义”

    • --仅架构“将仅转储创建架构所需的命令 (在我们的示例中为函数)”

    • -U“rds 主用户名”

    • 数据库“我们实例中的数据库名称”

    有关 pg_dump 的更多信息,请参阅 PostgreSQL 文档中的 pg_dump 页面。

  5. 提取位于转储文件中的“CREATE FUNCTION”DDL 语句。

    以下代码提取创建函数所需的 DDL 语句。将在后续步骤中使用该语句重新创建函数。代码使用 grep 命令将语句提取到文件中。

    ./pg_restore -l /tmp/test.dmp | grep FUNCTION > /tmp/function_list/

    有关 pg_restore 的更多信息,请参阅 pg_restore

  6. 删掉函数和扩展。

    以下代码将删除基于 plv8 的任何对象。级联选项确保删除任何依赖项。

    drop extension plv8 cascade;

    如果您的 PostgreSQL 实例包含基于 plcoffee 或 plls 的对象,请对这些扩展重复此步骤。

  7. 创建扩展。

    以下代码将创建 plv8、plcoffee 和 plls 扩展。

    create extension plv8;

    create extension plcoffee;

    create extension plls;

  8. 使用转储文件和“驱动程序”文件创建函数。

    以下代码将重新创建您之前提取的函数。

    ./pg_restore -U master -d postgres -Fc -L /tmp/function_list /tmp/test.dmp

  9. 验证您的函数计数。

    通过运行以下代码语句验证函数是否已重新创建。

    select * from pg_available_extensions where name in ('plv8','plls','plcoffee');

    注意

    plv8 版本 2 在结果集中添加以下额外的行:

    proname | nspname | lanname ---------------+------------+---------- plv8_version | pg_catalog | plv8

Amazon RDS 上 PostgreSQL 的逻辑复制

从 PostgreSQL 10.4 版开始,RDS 支持发布和订阅用于 PostgreSQL 10 逻辑复制的 SQL 语法。

为 Amazon RDS for PostgreSQL 数据库实例启用逻辑复制

  1. AWS 用户账户需要 rds_superuser 角色为 Amazon RDS 上的 PostgreSQL 数据库执行逻辑复制。

  2. rds.logical_replication 静态参数设置为 1。

  3. 为发布者实例(生产)修改安全组的入站规则,以允许订阅者实例(副本)连接。通常做法是在安全组中包含订阅者的 IP 地址。

  4. 重启数据库实例,以便让静态参数 rds.logical_replication 的更改生效。

有关 PostgreSQL 逻辑复制的更多信息,请参阅 PostgreSQL 文档

逻辑解码和逻辑复制

RDS for PostgreSQL 支持使用逻辑复制槽的 WAL 更改流式处理。Amazon RDS 支持 PostgreSQL 数据库实例版本 9.5.4 及更高版本的逻辑解码。您可以在实例上设置逻辑复制槽并通过这些槽将数据库更改流式传输到某个客户端(如 pg_recvlogical)。逻辑复制槽将在数据库级别创建并支持与单个数据库的复制连接。

PostgreSQL 逻辑复制的最常见客户端是 AWS Database Migration Service 或 Amazon EC2 实例上的自定义托管主机。逻辑复制槽不知道有关流接收方的任何信息,因此目标无需是副本数据库。如果设置逻辑复制槽并且不从该槽进行读取,则数据可写入并快速填满数据库实例上的存储。

Amazon RDS 上的 PostgreSQL 逻辑复制和逻辑解码由参数、复制连接类型和安全角色启用。逻辑解码的客户端可以是能够建立与 PostgreSQL 数据库实例上数据库的复制连接的任何客户端。

为 Amazon RDS for PostgreSQL 数据库实例启用逻辑解码

  1. 用户账户需要 rds_superuser 角色才能启用逻辑复制。用户账户还需要 rds_replication 角色授予管理逻辑槽并使用逻辑槽流式处理数据的权限。

  2. rds.logical_replication 静态参数设置为 1。在应用该参数时,我们还将设置参数 wal_levelmax_wal_sendersmax_replication_slotsmax_connections。这些参数更改可能会增加 WAL 生成,因此,您只应在使用逻辑槽时设置 rds.logical_replication 参数。

  3. 重启数据库实例,静态 rds.logical_replication 参数才会生效。

  4. 请按下一部分中的说明创建逻辑复制槽。该过程需要您指定解码插件。目前,我们支持 PostgreSQL 随附的 test_decodingwal2json 输出插件。

有关 PostgreSQL 逻辑解码的更多信息,请参阅 PostgreSQL 文档

使用逻辑复制槽

您可以通过 SQL 命令来使用逻辑槽。例如,以下命令使用默认的 PostgreSQL 输出插件 test_decoding 创建一个名为 test_slot 的逻辑槽。

SELECT * FROM pg_create_logical_replication_slot('test_slot', 'test_decoding'); slot_name | xlog_position -----------------+--------------- regression_slot | 0/16B1970 (1 row)

要列出逻辑槽,请使用以下命令。

SELECT * FROM pg_replication_slots;

要删除逻辑槽,请使用以下命令。

SELECT pg_drop_replication_slot('test_slot'); pg_drop_replication_slot ----------------------- (1 row)

有关使用逻辑复制槽的更多示例,请参阅 PostgreSQL 文档中的逻辑解码示例

创建逻辑复制槽后,就可以开始流式处理。以下示例显示了如何通过流式复制协议控制逻辑解码。示例中使用了 PostgreSQL 发行版中包含的程序 pg_recvlogical。这要求设置客户端身份验证以允许复制连接。

pg_recvlogical -d postgres --slot test_slot -U master --host sg-postgresql1.c6c8mresaghgv0.us-west-2.rds.amazonaws.com -f - --start

要查看 pg_replication_origin_status 视图的内容,请查询 pg_show_replication_origin_status() 函数。

SELECT * FROM pg_show_replication_origin_status(); local_id | external_id | remote_lsn | local_lsn ----------+-------------+------------+----------- (0 rows)

Amazon RDS 上 PostgreSQL 的事件触发器

PostgreSQL 版本 9.5.4 及更高版本支持事件触发器,并且 Amazon RDS 支持这些版本的事件触发器。主用户账户可用于创建、修改、重命名和删除事件触发器。事件触发器位于数据库实例级别,因此,它们可应用于实例上的所有数据库。

例如,以下代码创建在每个 DDL 命令结束时打印当前用户的事件触发器。

CREATE OR REPLACE FUNCTION raise_notice_func() RETURNS event_trigger LANGUAGE plpgsql AS $$ BEGIN RAISE NOTICE 'In trigger function: %', current_user; END; $$; CREATE EVENT TRIGGER event_trigger_1 ON ddl_command_end EXECUTE PROCEDURE raise_notice_func();

有关 PostgreSQL 事件触发器的更多信息,请参阅 PostgreSQL 文档中的事件触发器

在 Amazon RDS 上使用 PostgreSQL 事件触发器存在多个限制。包括:

  • 您不能在只读副本上创建事件触发器。不过,您可以在只读副本源上创建事件触发器。然后,事件触发器复制到只读副本。从源推送更改时,不会触发只读副本上的事件触发器。不过,如果提升只读副本,则当数据库发生操作时将触发现有事件触发器。

  • 要将主要版本升级到使用事件触发器的 PostgreSQL 数据库实例,您必须在升级该实例之前删除事件触发器。

Amazon RDS for PostgreSQL 的大页

Amazon RDS for PostgreSQL 支持 PostgreSQL 版本 9.5.6 及更高版本和 9.6.2 及更高版本的多种分页大小。此支持包括 4K 和 2MB 分页大小。

在使用大的连续内存数据块时,大页可以减少开销。您可以通过使用对 mmapSYSV 共享内存的调用,为应用程序分配大页。您可以使用 huge_pages 参数在 Amazon RDS for PostgreSQL 数据库上启用大页。可以将该参数设置为“on”以启用巨页。

对于 PostgreSQL 版本 10 和更高版本,为所有实例类启用了巨页。对版本低于 10 的 PostgreSQL,默认情况下,将在 db.r4.*、db.m4.16xlarge 和 db.m5. 实例类中启用巨页。对于其他实例类,默认情况下禁用巨页。

huge_pages 参数设置为“on”时,Amazon RDS 基于可用共享内存来使用大页。如果由于共享内存约束,数据库实例无法使用大页,Amazon RDS 会阻止实例启动,并将数据库实例的状态设置为不兼容参数状态。在这种情况下,您可以将 huge_pages 参数设置为“off”以允许 Amazon RDS 启动数据库实例。

shared_buffers 参数是设置使用大页所需的共享内存池的关键。shared_buffers 参数的默认值设置为对该实例内存可用的总共 8K 分页的百分比。使用大页时,这些页面会被并置排列在大页中。如果共享内存参数设置为需要 90% 以上的数据库实例内存,则 Amazon RDS 将数据库实例置于不兼容参数状态。有关为 PostgreSQL 设置共享内存的更多信息,请参阅 PostgreSQL 文档

注意

db.m1、db.m2 和 db.m3 数据库实例类不支持大页。

Amazon RDS 上 PostgreSQL 的表空间

Amazon RDS 上的 PostgreSQL 支持表空间以实现兼容性。由于所有存储都在单个逻辑卷上,因此不能使用表空间进行 IO 拆分或隔离。我们的基准测试和经验表明,对于大多数使用案例,单个逻辑卷是最佳设置。

如果在创建表空间时指定文件名,则路径前缀为 /rdsdbdata/db/base/tablespace。以下示例将表空间文件放在 /rdsdbdata/db/base/tablespace/data 中。

CREATE TABLESPACE act_data OWNER dbadmin LOCATION '/data';

Amazon RDS 上的 PostgreSQL 的 Autovacuum

PostgreSQL autovacuum 功能默认为新的 PostgreSQL 数据库实例开启。Autovacuum 是可选的,但我们强烈建议您不要关闭 autovacuum。有关将 autovacuum 用于 Amazon RDS for PostgreSQL 的更多信息,请参阅 在 Amazon RDS 上使用 PostgreSQL autovacuum

stats_temp_directory 的 RAM 磁盘

Amazon RDS for PostgreSQL 参数 rds.pg_stat_ramdisk_size 可用于指定分配给 RAM 磁盘的用于存储 PostgreSQL stats_temp_directory 的系统内存。RAM 磁盘参数适用于 Amazon RDS 上的所有 PostgreSQL 版本。

在某些工作负载下,设置该参数可提高性能并降低 IO 要求。有关 stats_temp_directory 的更多信息,请参阅 PostgreSQL 文档

要为您的 stats_temp_directory 启用 RAM 磁盘,可在数据库实例中使用的参数组中将 rds.pg_stat_ramdisk_size 参数设置为非零值。该参数值以 MB 为单位。您必须先重启数据库实例,然后更改才会生效。

例如,以下 AWS CLI 命令将 RAM 磁盘参数设置为 256 MB。

aws rds modify-db-parameter-group \ --db-parameter-group-name pg-95-ramdisk-testing \ --parameters "ParameterName=rds.pg_stat_ramdisk_size, ParameterValue=256, ApplyMethod=pending-reboot"

在重启后,请运行以下命令查看 stats_temp_directory 的状态:

postgres=>show stats_temp_directory;

该命令应返回以下内容:

stats_temp_directory --------------------------- /rdsdbramdisk/pg_stat_tmp (1 row)

适用于 PostgreSQL 的 ALTER ENUM

Amazon RDS for PostgreSQL 版本 9.6.2 和 9.5.6 和更高版本支持更改枚举功能。Amazon RDS 的其他版本不提供该功能。

以下代码为更改枚举值的示例。

postgres=> CREATE TYPE rainbow AS ENUM ('red', 'orange', 'yellow', 'green', 'blue', 'purple'); CREATE TYPE postgres=> CREATE TABLE t1 (colors rainbow); CREATE TABLE postgres=> INSERT INTO t1 VALUES ('red'), ( 'orange'); INSERT 0 2 postgres=> SELECT * from t1; colors -------- red orange (2 rows) postgres=> ALTER TYPE rainbow RENAME VALUE 'red' TO 'crimson'; ALTER TYPE postgres=> SELECT * from t1; colors --------- crimson orange (2 rows)