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

Amazon Aurora PostgreSQL 的数据库引擎版本

在下文中,您可以了解有关 与 PostgreSQL 兼容的 Aurora 数据库引擎的支持版本的信息。Aurora 数据库具有两个版本号:Aurora 版本号和数据库引擎版本号。要确定 Aurora PostgreSQL 数据库的版本号,请参阅 确定您的 Amazon Aurora PostgreSQL 版本

下表显示了每个 Aurora PostgreSQL 发布版本的版本以及与之兼容的 PostgreSQL 版本。

与 PostgreSQL 兼容的 Aurora 兼容的 PostgreSQL 版本
版本 2.3 10.7
版本 2.2 10.6
版本 2.1 10.5
版本 2.0 10.4
版本 1.5 9.6.12
版本 1.4 9.6.11
版本 1.3 9.6.9
版本 1.2 9.6.8
版本 1.1 9.6.6 已弃用
版本 1.0 9.6.3 已弃用

支持以下 Aurora PostgreSQL 版本。

版本 2.3

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

版本 2.3.5

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

改进

  1. 修复了会导致数据库实例重启的错误。

  2. 修复了在存在后端的情况下使用逻辑复制会导致崩溃的错误。

  3. 修复了在故障转移期间发生读取时会导致重启的错误。

  4. 修复了逻辑复制的 wal2json 插件错误。

  5. 修复了会导致元数据不一致的错误。

版本 2.3.3

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

改进

  1. 提供了针对 PostgreSQL 社区安全问题 CVE-2019-10130 的向后移植修复。

  2. 提供了针对 PostgreSQL 社区安全问题 CVE-2019-10164 的向后移植修复。

  3. 修复了一个错误,即数据活动流可能消耗过多 CPU 时间。

  4. 修复了一个错误,即扫描 B 树索引的并行线程可能会在磁盘读取后挂起。

  5. 修复了一个错误,即对公用表表达式 (CTE) 使用 not in 谓词会返回以下错误:“ERROR: bad levelsup for CTE (错误: CTE 的错误级别)”。

  6. 修复了一个错误,即在对通用搜索树 (GiST) 索引应用修改时,读取节点重放过程可能挂起。

  7. 修复了一个错误,即在故障转移到读取节点后,可见性映射页面可能包含不正确的冻结位。

  8. 在索引维护期间优化了写入节点和读取节点之间的日志流量。

  9. 修复了一个错误,即在执行 B 树索引扫描时,读取节点上的查询可能会发生崩溃。

  10. 修复了一个错误,即已针对冗余内部联接删除优化的查询可能会发生崩溃。

  11. 函数 aurora_stat_memctx_usage 现在报告给定上下文名称的实例数。

  12. 修复了一个错误,即函数 aurora_stat_memctx_usage 报告了错误的结果。

  13. 修复了一个错误,即读取节点重放过程可能会等待终止超出配置的 max_standby_streaming_delay 值的相互冲突的查询。

  14. 当活动连接与中继过程发生冲突时,现在会在读取节点上记录其他信息。

  15. 提供了针对 PostgreSQL 社区错误 #15677 的向后移植修复,从分区表中进行删除时可能会发生崩溃。

版本 2.3.1

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

改进

  1. 修复了导致引擎崩溃的与 I/O 预取有关的多个漏洞。

版本 2.3.0

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

新功能

  1. 现在 Aurora PostgreSQL 在扫描 B 树索引时执行 I/O 预取。这大幅提高了对未缓存数据进行 B 树扫描的性能。

改进

  1. 修复了可能导致读取节点失败并显示错误“too many LWLocks taken (采用了太多 LWLocks)”的漏洞。

  2. 解决了导致读取节点在集群处于繁重写入工作负载下时无法启动的众多问题。

  3. 修复了使用 aurora_stat_memctx_usage() 函数可能导致崩溃的漏洞。

  4. 改进了表扫描使用的缓存替换策略,以最大限度减少缓冲区缓存的颠簸。

版本 2.2

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

补丁版本

版本 2.2.1

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

改进

  1. 提高了逻辑复制的稳定性。

  2. 修复了可能导致运行查询时出错的错误。报告的消息将是“CLOG 段 123 不存在:无此文件或目录”的形式。

  3. 将支持的 IAM 密码的大小增加到 8KB。

  4. 提高了高吞吐量写入工作负载下性能的一致性。

  5. 修复了可能导致只读副本在重启时崩溃的错误。

  6. 修复了可能导致运行查询时出错的错误。报告的消息将是“SQL 错误:正在尝试读取过去的关系 EOF”的形式。

  7. 修复了可能导致重启后内存使用量增加的错误。

  8. 修复了可能导致包含大量子事务的事务失败的错误。

  9. 合并了使用 GIN 索引时处理潜在故障的社区 PostgreSQL 中的补丁。有关更多信息,请参阅 https://git.postgresql.org/gitweb/?p=postgresql.git;a=commit;h=f9e66f2fbbb49a493045c8d8086a9b15d95b8f18

  10. 修复了可能导致从 PostgreSQL 的 RDS 的快照导入失败的错误。

版本 2.2.0

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

新功能

  1. 增加了受限密码管理功能。“受限密码管理”允许您使用参数 rds.restrict_password_commands 和角色 rds_password 限制哪些用户可以管理用户密码和密码失效时间更改。有关更多信息,请参阅 限制密码管理

版本 2.1

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

补丁版本

版本 2.1.1

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

改进

  1. 修复了可能导致运行查询时出错的错误。报告的消息将是“CLOG 段 123 不存在:无此文件或目录”的形式。

  2. 将支持的 IAM 密码的大小增加到 8KB。

  3. 提高了高吞吐量写入工作负载下性能的一致性。

  4. 修复了可能导致只读副本在重启时崩溃的错误。

  5. 修复了可能导致运行查询时出错的错误。报告的消息将是“SQL 错误:正在尝试读取过去的关系 EOF”的形式。

  6. 修复了可能导致重启后内存使用量增加的错误。

  7. 修复了可能导致包含大量子事务的事务失败的错误。

  8. 合并了使用 GIN 索引时处理潜在故障的社区 PostgreSQL 中的补丁。有关更多信息,请参阅 https://git.postgresql.org/gitweb/?p=postgresql.git;a=commit;h=f9e66f2fbbb49a493045c8d8086a9b15d95b8f18

  9. 修复了可能导致从 PostgreSQL 的 RDS 的快照导入失败的错误。

版本 2.1.0

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

新功能

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

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

  3. pg_similarity 扩展更新为 1.0 版。

  4. log_fdw 扩展更新为 1.1 版。

  5. pg_hint_plan 扩展更新为 1.3.1 版。

改进

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

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

  3. 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

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

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

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

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

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

已知问题

  1. Aurora PostgreSQL 中不支持 pageinspect 扩展。

版本 2.0

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

补丁版本

版本 2.0.1

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

改进

  1. 修复了可能导致运行查询时出错的错误。报告的消息将是“CLOG 段 123 不存在:无此文件或目录”的形式。

  2. 将支持的 IAM 密码的大小增加到 8KB。

  3. 提高了高吞吐量写入工作负载下性能的一致性。

  4. 修复了可能导致只读副本在重启时崩溃的错误。

  5. 修复了可能导致运行查询时出错的错误。报告的消息将是“SQL 错误:正在尝试读取过去的关系 EOF”的形式。

  6. 修复了可能导致重启后内存使用量增加的错误。

  7. 修复了可能导致包含大量子事务的事务失败的错误。

  8. 合并了使用 GIN 索引时处理潜在故障的社区 PostgreSQL 中的补丁。有关更多信息,请参阅 https://git.postgresql.org/gitweb/?p=postgresql.git;a=commit;h=f9e66f2fbbb49a493045c8d8086a9b15d95b8f18

  9. 修复了可能导致从 PostgreSQL 的 RDS 的快照导入失败的错误。

版本 2.0.0

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

改进

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

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

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

  4. ip4r 扩展更新为 2.1.1 版。

  5. pg_repack 扩展更新为 1.4.3 版。

  6. plv8 扩展更新为 2.1.2 版。

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

  8. 修复了读取节点在特定类型的可用空间从写入节点更改后可能崩溃的错误。

版本 1.5

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

版本 1.5.3

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

改进

  1. 修复了会导致数据库实例重启的错误。

  2. 修复了在故障转移期间发生读取时会导致重启的错误。

  3. 修复了会导致元数据不一致的错误。

版本 1.5.2

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

改进

  1. 提供了针对 PostgreSQL 社区安全问题 CVE-2019-10130 的向后移植修复。

  2. 修复了一个错误,即在对通用搜索树 (GiST) 索引应用修改时,读取节点重放过程可能挂起。

  3. 修复了一个错误,即在故障转移到读取节点后,可见性映射页面可能包含不正确的冻结位。

  4. 修复了一个错误,即错误报告了错误“relation relation-name does not exist (关系 relation-name 不存在)”。

  5. 在索引维护期间优化了写入节点和读取节点之间的日志流量。

  6. 修复了一个错误,即在执行 B 树索引扫描时,读取节点上的查询可能会发生崩溃。

  7. 函数 aurora_stat_memctx_usage 现在报告给定上下文名称的实例数。

  8. 修复了一个错误,即函数 aurora_stat_memctx_usage 报告了错误的结果。

  9. 修复了一个错误,即读取节点重放过程可能会等待终止超出配置的 max_standby_streaming_delay 的相互冲突的查询。

  10. 当活动连接与中继过程发生冲突时,现在会在读取节点上记录其他信息。

版本 1.5.1

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

改进

  1. 修复了导致引擎崩溃的与 I/O 预取有关的多个错误。

版本 1.5.0

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

新功能

  1. 现在 Aurora PostgreSQL 在扫描 B 树索引时执行 I/O 预取。这大幅提高了对未缓存数据进行 B 树扫描的性能。

改进

  1. 解决了导致读取节点在集群处于繁重写入工作负载下时无法启动的众多问题。

  2. 修复了使用 aurora_stat_memctx_usage() 函数可能导致崩溃的漏洞。

  3. 改进了表扫描使用的缓存替换策略,以最大限度减少缓冲区缓存的颠簸。

版本 1.4

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

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

新功能

  1. 增加了对 pg_similarity 扩展版本 1.0 的支持。

改进

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

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

  3. 子事务的性能在高并发工作负载下有所提高。

  4. pg_hint_plan 扩展更新为 1.2.3 版。

  5. 修复了在繁忙的系统上,包含数百万个子事务的提交(有时还启用了提交时间戳)可能造成 Aurora 崩溃的问题。

  6. 修复了包含 VALUESINSERT 语句可能失败并显示消息“正在尝试读取过去的关系 EOF”的问题。

  7. apg_plan_mgmt 扩展升级到版本 1.0.1。apg_plan_mgmt 扩展用于查询计划管理。有关如何安装、升级和使用 apg_plan_mgmt 扩展的更多消息,请参阅 管理 Aurora PostgreSQL 的查询执行计划

    apg_plan_mgmt 扩展的新功能包括:

    1. update_plan_hash 参数可用于 validate_plans 函数。此参数更新不能准确重现的计划的 plan_hashupdate_plan_hash 参数还允许您通过重新编写 SQL 来修复计划。然后,您可以将更好的计划注册为初始 SQL 的 Approved 计划。以下是使用 update_plan_hash 的示例。

      UPDATE apg_plan_mgmt.dba_plans SET plan_hash = new _plan_hash, plan_outline = good_plan_outline WHERE sql_hash = bad_plan_sql_hash AND plan_hash = bad_plan_plan_hash; SELECT apg_plan_mgmt.validate_plans(bad_plan_sql_hash, bad_plan_plan_hash, 'update_plan_hash'); SELECT apg_plan_mgmt.reload();
    2. 提供了可以为指定的 SQL 语句生成 EXPLAIN 语句本文的新 get_explain_stmt 函数。它包括参数 sql_hashplan_hashexplain_options

      参数 explain_options 可以是任何有效的 EXPLAIN 选项的逗号分隔列表,如下所示。

      analyze,verbose,buffers,hashes,format json

      如果参数 explain_options 为 NULL 或是一个空字符串,get_explain_stmt 函数将生成简单的 EXPLAIN 语句。

      要为您的工作负载或工作负载的一部分创建 EXPLAIN 脚本,请使用 \a\t\o 选项将输出重定向到文件。例如,您可以使用 total_timeDESC 顺序排序的 PostgreSQL pg_stat_statements 视图为排名最高 (top-K) 的语句创建 EXPLAIN 脚本。

    3. “收集并行查询”运算符的准确位置由成本花费确定,可能在一段时间内稍有改变。为防止这些差异使整个计划失效,查询计划管理现在计算同一个 plan_hash,即使“收集”运算符在计划树中移至不同位置。

    4. 增加了对 pl/pgsql 函数内的非参数化语句的支持。

    5. apg_plan_mgmt 扩展在同一个集群中的多个数据库上安装,而两个或多个数据库被同时访问时,开销将减少。此外,此版本还修复了这个区域中可能造成计划未存储在共享内存中的错误。

    apg_plan_mgmt extension 改进包括:

    1. evolve_plan_baselines 函数的改进。

      1. evolve_plan_baselines 函数现在对计划中的所有节点计算 cardinality_error 指标。使用此指标,您可以识别基数估计错误较大且计划质量更不确定的任何计划。具有高 cardinality_error 值的长时间运行语句是进行查询优化的优先选择。

      2. evolve_plan_baselines 生成的报告现在包括 sql_hashplan_hash 和计划 status

      3. 您现在可以允许 evolve_plan_baselines 预先审批 Rejected 计划。

      4. evolve_plan_baselinesspeedup_factor 的含义现在始终与基准计划相关。例如,1.1 值现在表示比基准计划快 10%。0.9 值表示比基准计划慢 10%。对比只使用执行时间,而不是总时间。

      5. evolve_plan_baselines 函数现在通过新的方式预热缓存。具体方法是运行基准计划,然后再运行一次基准计划,然后运行候选计划一次。之前,evolve_plan_baselines 运行候选计划两次。这种方法显著增加了执行时间,尤其是会让候选计划变慢。但是,当候选计划使用基准计划中未使用的索引时,运行候选计划两次更可靠。

    2. 查询计划管理不再保存引用系统表或视图、临时表或查询计划管理的自有表的计划。

    3. 错误修复包括保存后立即缓存计划以及修复造成后端终止的错误。

版本 1.3

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

补丁版本

版本 1.3.2

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

新功能

  1. 增加了 ProcArrayGroupUpdate 等待事件。

改进

  1. 修复了可能导致运行查询时出错的错误。报告的消息将是“CLOG 段 123 不存在:无此文件或目录”的形式。

  2. 将支持的 IAM 密码的大小增加到 8KB。

  3. 提高了高吞吐量写入工作负载下性能的一致性。

  4. 修复了可能导致只读副本在重启时崩溃的错误。

  5. 修复了可能导致运行查询时出错的错误。报告的消息将是“SQL 错误:正在尝试读取过去的关系 EOF”的形式。

  6. 修复了可能导致重启后内存使用量增加的错误。

  7. 修复了可能导致包含大量子事务的事务失败的错误。

  8. 合并了使用 GIN 索引时处理潜在故障的社区 PostgreSQL 中的补丁。有关更多信息,请参阅 https://git.postgresql.org/gitweb/?p=postgresql.git;a=commit;h=f9e66f2fbbb49a493045c8d8086a9b15d95b8f18

  9. 修复了可能导致从 PostgreSQL 的 RDS 的快照导入失败的错误。

版本 1.3.0

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

改进

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

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

  3. 更新了以下 PostgreSQL 扩展:

    • ip4r 更新为 2.1.1 版。

    • pgaudit 更新为 1.1.1 版。

    • pg_repack 更新为 1.4.3 版。

    • plv8 更新为 2.1.2 版。

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

  5. 修复了 Aurora PostgreSQL 可能反复崩溃并报告以下消息的错误:

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

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

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

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

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

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

  11. 修复了一个错误,即,作为 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"

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

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

    FATAL: Storage initialization failed.

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

  15. 修复了一个错误,即读取节点在特定类型的可用空间从写入节点更改后可能崩溃。

版本 1.2

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

补丁版本

版本 1.2.2

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

新功能

  1. 增加了 ProcArrayGroupUpdate 等待事件。

改进

  1. 修复了可能导致运行查询时出错的错误。报告的消息将是“CLOG 段 123 不存在:无此文件或目录”的形式。

  2. 将支持的 IAM 密码的大小增加到 8KB。

  3. 提高了高吞吐量写入工作负载下性能的一致性。

  4. 修复了可能导致只读副本在重启时崩溃的错误。

  5. 修复了可能导致运行查询时出错的错误。报告的消息将是“SQL 错误:正在尝试读取过去的关系 EOF”的形式。

  6. 修复了可能导致重启后内存使用量增加的错误。

  7. 修复了可能导致包含大量子事务的事务失败的错误。

  8. 合并了使用 GIN 索引时处理潜在故障的社区 PostgreSQL 中的补丁。有关更多信息,请参阅 https://git.postgresql.org/gitweb/?p=postgresql.git;a=commit;h=f9e66f2fbbb49a493045c8d8086a9b15d95b8f18

  9. 修复了可能导致从 PostgreSQL 的 RDS 的快照导入失败的错误。

版本 1.2.0

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

新功能

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

改进

  1. 该版本包含 版本 1.1 中的所有修复、功能和改进。

  2. 更新以下 PostgreSQL 扩展:

    • pg_hint_plan 更新为版本 1.2.2

    • plv8 更新为版本 2.1.0

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

  4. 改进连接建立性能。

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

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

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

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

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

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

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

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

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

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

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

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

    "FATAL: lock buffer_io is not held"

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

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

版本 1.1

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

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

新功能

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

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

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

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

    • orafce 3.6.1

    • pgrouting 2.4.2

    • postgresql-hll 2.10.2

    • prefix 1.2.6

改进

  1. 该版本包含 版本 1.0.11 中的所有修复、功能和改进。

  2. 更新了以下 PostgreSQL 扩展:

    • postgis 扩展已更新为 2.3.4 版本

    • geos 库已更新为 3.6.2 版本

    • pg_repack 已更新为 1.4.2 版本

  3. 已启用对 pg_statistic 关系的访问。

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

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

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

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

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

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

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

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

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

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

    ERROR: could not access status of transaction 6080077

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

  14. 修复了一个错误,在从 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

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

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

版本 1.0

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

此版本包括以下补丁版本:

版本 1.0.11

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

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

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

  3. 更正了 pg-repack 扩展。

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

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

版本 1.0.10

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

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

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

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

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

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

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

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

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

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

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

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

版本 1.0.9

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

版本 1.0.8

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

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

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

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

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

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

版本 1.0.7

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