Amazon Aurora
Aurora 用户指南 (API 版本 2014-10-31)
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

Amazon Aurora PostgreSQL 的数据库引擎版本

与 PostgreSQL 兼容的 Aurora

Aurora PostgreSQL 兼容的 PostgreSQL 版本
版本 2.1 10.5
版本 2.0 10.4
版本 1.3 9.6.9
版本 1.2 9.6.8
版本 1.1 9.6.6 已弃用
版本 1.0 9.6.3 已弃用

下列更新可用于 Aurora PostgreSQL。

版本 2.1

您可以在此引擎更新中发现下列改进。

新功能

  • 该 Aurora PostgreSQL 版本与 PostgreSQL 10.5 兼容。有关 10.5 版中的改进的更多信息,请参阅 PostgreSQL 10.5 版

  • Aurora 查询计划管理的一般可用性,使客户能够跟踪和管理其应用程序使用的任何或所有查询计划、控制查询优化程序计划选择以及确保相当高的稳定应用程序性能。有关更多信息,请参阅管理 Aurora PostgreSQL 的查询执行计划

  • libprotobuf 扩展更新为 1.3.0 版。这由 PostGIS 扩展使用。

  • pg_similarity 扩展更新为 1.0 版。

  • log_fdw 扩展更新为 1.1 版。

  • pg_hint_plan 扩展更新为 1.3.1 版。

改进

  • 现在对写入器和读取器节点之间的网络流量进行压缩以降低网络利用率。这降低了因网络饱和导致读取节点不可用的几率。

  • 为 PostgreSQL 子事务实现了高性能、可扩展的子系统。这提高了广泛使用保存点和 PL/pgSQL 异常处理程序的应用程序的性能。

  • rds_superuser 角色现在可以在每个会话、数据库或角色级别设置以下参数:

    • log_duration

    • log_error_verbosity

    • log_executor_stats

    • log_lock_waits

    • log_min_duration_statement

    • log_min_error_statement

    • log_min_messages

    • log_parser_stats

    • log_planner_stats

    • log_replication_commands

    • log_statement_stats

    • log_temp_files

  • 修复了一个错误,即,SQL 命令“ALTER FUNCTION ...OWNER TO ...”可能失败,并显示错误“improper qualified name (too many dotted names) (不适当的限定名 (用点分隔的名称太多))”。

  • 修复了一个错误,即,当提交一个包含 200 万个以上的子事务的事务时可能发生崩溃。

  • 修复了与 GIN 索引相关的社区 PostgreSQL 代码中的错误,该错误可能导致 Aurora 存储卷变得不可用。

  • 修复了一个错误,即,RDS for PostgreSQL 实例的 Aurora PostgreSQL 副本无法启动,并报告错误:“PANIC: could not locate a valid checkpoint record (PANIC: 无法找到有效的检查点记录)”。

  • 修复了一个错误,即,将无效参数传递给 aurora_stat_backend_waits 函数会导致发生崩溃。

已知问题

  • Aurora PostgreSQL 中不支持 pageinspect 扩展。

版本 2.0

您可以在此引擎更新中发现下列改进。

新功能

  • 该 Aurora PostgreSQL 版本与 PostgreSQL 10.4 兼容。有关 10.4 版中的改进的更多信息,请参阅 10.4 版

改进

  • 该版本包含 版本 1.3 中的所有修复、功能和改进。

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

  • 更新了 PostGIS 扩展使用的 GDAL 库。

  • ip4r 扩展更新为 2.1.1 版。

  • pg_repack 扩展更新为 1.4.3 版。

  • plv8 扩展更新为 2.1.2 版。

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

已知问题

  • 无。

版本 1.3

您可以在此引擎更新中发现下列改进。

新功能

  • 该 Aurora PostgreSQL 版本与 PostgreSQL 9.6.9 兼容。有关 9.6.9 版中的改进的更多信息,请参阅 9.6.9 版

改进

  • 该版本包含 版本 1.2 中的所有修复、功能和改进。

  • 更新了 PostGIS 扩展使用的 GDAL 库。

  • 更新了以下 PostgreSQL 扩展:

    • ip4r 更新为 2.1.1 版。

    • pgaudit 更新为 1.1.1 版。

    • pg_repack 更新为 1.4.3 版。

    • plv8 更新为 2.1.2 版。

  • 修复了监控系统中的一个问题,在本地磁盘使用率较高时,该问题可能会错误地导致故障转移。

  • 修复了一个错误,即,Aurora PostgreSQL 可能反复崩溃并报告:

    PANIC: new_record_total_len (8201) must be less than BLCKSZ (8192), rmid (6), info (32)

  • 修复了一个错误,即,Aurora PostgreSQL 读取节点可能由于大型缓冲区缓存恢复而无法重新加入集群。在 r4.16xlarge 以外的实例上不太可能会出现该问题。

  • 修复了一个错误,即,插入到从 9.4 之前的引擎版本导入的空 GIN 索引叶页面可能导致 Aurora 存储卷变得不可用。

  • 修复了一个错误,即,在极少数情况下,在事务提交期间发生的崩溃可能导致进行提交的事务丢失 CommitTs 数据。事务的实际持久性不会受到该错误的影响。

  • 修复了 PostGIS 扩展中的一个错误,即,PostGIS 可能会在 gserialized_gist_picksplit_2d() 函数中发生崩溃。

  • 在小于 r4.8xl 的实例上,在具有大量写入流量期间提高了只读节点的稳定性。这明确解决了写入方和读取方之间的网络带宽受到限制的问题。

  • 修复了一个错误,即,作为 RDS for PostgreSQL 实例的复制目标的 Aurora PostgreSQL 实例由于以下错误而崩溃:

    FATAL: could not open file "base/16411/680897_vm": No such file or directory" during "xlog redo at 782/3122D540 for Storage/TRUNCATE"

  • 修复了只读节点上的内存泄漏,即,“aurora wal 重放进程”的堆大小将继续增长。可以通过增强监控观察到该问题。

  • 修复了一个错误,即,Aurora PostgreSQL 无法启动,并在 PostgreSQL 日志中报告以下消息:

    FATAL: Storage initialization failed.

  • 修复了大量写入工作负载的性能限制,该问题导致在 LWLock:buffer_contentIO:ControlFileSyncUpdate 事件上等待。

已知问题

  • 无。

版本 1.2

您可以在此引擎更新中发现下列改进。

新功能

  • 该 Aurora PostgreSQL 版本与 PostgreSQL 9.6.8 兼容。有关 9.6.8 版中的改进的更多信息,请参阅 9.6.8 版

  • 引入 aurora_stat_memctx_usage() 函数。此函数可为每个 PostgreSQL 后端报告内部的内存上下文使用情况。可以使用此函数帮助确定某些后端占用大量内存的原因。

改进

  • 该版本包含 1.1 版中的所有修复、功能和改进。有关完整的改进列表,请参阅版本 1.1

  • 更新以下 PostgreSQL 扩展:

    • pg_hint_plan 更新为版本 1.2.2

    • plv8 更新为版本 2.1.0

  • 提高写入方和读取方节点之间的流量效率。

  • 改进连接建立性能。

  • 改进在出现内存不足错误时 PostgreSQL 错误日志中提供的诊断数据。

  • 进行了多次修复以提高将快照从 Amazon RDS for PostgreSQL 导入到 与 PostgreSQL 兼容的 Aurora 的可靠性和性能。

  • 进行了多次修复,以提高 Aurora PostgreSQL 读取节点的可靠性和性能。

  • 修复了一个问题,其中原本空闲的实例会在 Aurora 存储卷上生成不必要的读取流量。

  • 修复了在插入期间遇到重复序列值的问题。只有在从 RDS for PostgreSQL 向 Aurora PostgreSQL 中迁移快照时,才会出现该问题。该修复可防止在执行迁移时引入问题。在此版本前迁移的实例仍然会遇到重复键错误。

  • 修复了一个问题:使用复制迁移到 Aurora PostgreSQL 的 RDS for PostgreSQL 实例在插入/更新 GIST 索引时内存不足或导致 GIST 索引出现其他问题。

  • 修复了清理操作无法更新数据库的对应 pg_database.datfrozenxid 值的问题。

  • 修复了一个问题,其中创建新 MultiXact(竞争性行级别锁定)会导致 Aurora PostgreSQL 在引擎重启后在对同一关系的第一次访问中无限期挂起。

  • 修复了在调用 fdw 时无法终止或取消 PostgreSQL 后端的问题。

  • 修复了 Aurora 存储守护程序始终充分利用 vCPU 的问题。对于较小的实例类型(如 r4.large),这个问题尤其明显,会导致空闲时 CPU 使用率达到 25%-50%。

  • 修复了 Aurora PostgreSQL 写入方节点进行虚假故障转移的问题。

  • 修复了一个问题:在极少数情况下,Aurora PostgreSQL 读取节点报告以下问题:

    "FATAL: lock buffer_io is not held"

  • 修复了一个错误,其中过期的 relcache 条目会停止对关系执行清理并推动系统接近事务 ID 重叠。此修复是计划在未来的次要版本中发布的 PostgreSQL 社区修补程序的端口。

  • 修复了一个问题,其中在扩展关系时出现的故障导致 Aurora 在扫描部分扩展的关系时崩溃。

已知问题

  • 无。

版本 1.1

您可以在此引擎更新中发现下列改进:

新功能

  • 该 Aurora PostgreSQL 版本与 PostgreSQL 9.6.6 兼容。有关 9.6.6 版中的改进的更多信息,请参阅 9.6.6 版

  • 引入了 aurora_stat_utils 扩展。该扩展包含两个函数:

    • aurora_wait_report() 函数,用于等待事件监控

    • aurora_log_report(),用于日志记录写入监控

  • 添加了对以下扩展的支持:

    • orafce 3.6.1

    • pgrouting 2.4.2

    • postgresql-hll 2.10.2

    • prefix 1.2.6

改进

  • 该版本包含 1.0.11 版中的所有修复、功能和改进。有关完整的改进列表,请参阅版本 1.0.11

  • 更新了以下 PostgreSQL 扩展:

    • postgis 扩展已更新为 2.3.4 版本

    • geos 库已更新为 3.6.2 版本

    • pg_repack 已更新为 1.4.2 版本

  • 已启用对 pg_statistic 关系的访问。

  • 已禁用“effective_io_concurrency”guc 参数,因为它不适用于 Aurora 存储。

  • 已将“hot_standby_feedback”guc 参数更改为不可修改并将值设置为“1”。

  • 在 vacuum 操作期间提高了堆页面读取性能。

  • 提高了读取节点上的快照冲突解决性能。

  • 提高了读取节点上的事务快照获取性能。

  • 提高了 GIN 元数据页面更新写入性能。

  • 在启动期间提高了缓冲区缓存恢复性能。

  • 修复了一个错误,它在启动时恢复准备的事务期间导致数据库引擎崩溃。

  • 修复了一个错误,它在具有大量准备的事务时可能导致无法启动读取节点。

  • 修复了一个错误,它可能导致读取节点报告以下问题:

    ERROR: could not access status of transaction 6080077

    DETAIL:* *Could not open file "pg_subtrans/005C": No such file or directory.

  • 修复了一个错误,在从 RDS PostgreSQL 复制到 Aurora PostgreSQL 时,它可能导致以下错误:

    FATAL: lock buffer_content is not held

    CONTEXT: xlog redo at 46E/F1330870 for Storage/TRUNCATE: base/13322/8058750 to 0 blocks flags 7

  • 修复了一个错误,在从 RDS PostgreSQL 复制到 Aurora PostgreSQL 时重放 multixact WAL 记录期间,该问题可能导致 Aurora PostgreSQL 挂起。

  • 提供了多种改进以提高将快照从 RDS PostgreSQL 导入到 Aurora PostgreSQL 的可靠性。

版本 1.0.11

您可以在此引擎更新中发现下列改进:

  • 修复了可能导致结果错误的并行查询执行的问题。

  • 修复了从 Amazon RDS for PostgreSQL 复制期间出现的可见性图处理问题,该问题可能导致 Aurora 存储卷变得不可用。

  • 更正了 pg-repack 扩展。

  • 实现了用于维护全新节点的改进。

  • 修复了可能导致引擎崩溃的问题。

版本 1.0.10

此更新包含新功能。您现在可以将 Amazon RDS PostgreSQL 数据库实例复制到 Aurora PostgreSQL。有关更多信息,请参阅使用 Amazon Aurora PostgreSQL 进行复制

您可以在此引擎更新中发现下列改进:

  • 添加了当缓存存在并且参数更改导致不一致的缓冲区缓存、存储格式或大小时的错误日志记录。

  • 修复了大型页面存在不兼容的参数值时导致引擎重新启动的问题。

  • 改进了在读取节点上回放提前写入日志 (WAL) 期间对多个截断表语句的处理。

  • 降低了静态内存开销以减少内存不足错误。

  • 修复了在执行 GiST 索引插入时可能导致内存不足错误的问题。

  • 改进了从 RDS PostgreSQL 导入快照的过程,从而无需在未初始化的页面上执行真空操作。

  • 修复了导致准备好的事务在引擎崩溃之后恢复到之前的状态的问题。

  • 实现了用于防止读取节点过期的改进。

  • 实现了用于减少引擎重新启动所需停机时间的改进。

  • 修复了可能导致引擎崩溃的问题。

版本 1.0.9

在此引擎更新中,我们修复了以下问题:当从 RDS PostgreSQL 导入包含未初始化页面的快照时,Aurora 存储卷变得不可用。

版本 1.0.8

您可以在此引擎更新中发现下列改进:

  • 修复了 shared_preload_libraries 实例参数包含 pg_hint_plan 时阻止引擎启动的问题。

  • 修复了并行扫描过程中可能出现的错误“Attempt to fetch heap block XXX is beyond end of heap (YYY blocks)”。

  • 改进了为了真空操作预取读取的效果。

  • 修复了通过 RDS PostgreSQL 导入快照 (可能在源快照中包含不兼容的 pg_internal.init 文件时失败) 的问题。

  • 修复了以下问题:读取节点崩溃,并返回消息“aurora wal replay process (PID XXX) was terminated by signal 11: Segmentation fault”。当阅读器对未缓存的可见性图页面应用了可见性图更改之后,该问题会出现。

版本 1.0.7

这是 Amazon 与 PostgreSQL 兼容的 Aurora 第一个公开发布的版本。