PostgreSQL 16 发布了!增强功能有哪些?

2023年 9月 18日 68.4k 0

PostgreSQL 16 现已发布,此版本包含许多新功能和增强功能;包括:

  • 允许并行化 FULL 和内部右 OUTER 哈希联接
  • 允许从备用服务器进行逻辑复制
  • 允许逻辑复制订阅者并行应用大型事务
  • 允许使用新的 pg_stat_io 视图监控 I/O 统计信息
  • 添加 SQL/JSON 构造函数和标识函数
  • 提高 vacuum freezing 的性能
  • 添加对 pg_hba.conf 中用户名和数据库名以及 pg_ident.conf 中用户名的正则表达式匹配的支持

版本 16 包含一些可能影响与以前版本兼容性的更改。需注意以下不兼容性:

  • 更改 PL/pgSQL 绑定游标变量的赋值规则
  • 以前,此类变量的字符串值在游标分配期间被设置为与变量名称匹配;现在它将在 OPEN期间分配,并且与变量名称不匹配。要恢复以前的行为,需在 OPEN 之前将所需的门户名称分配给游标型变量。
  • 禁止主键使用 NULLS NOT DISTINCT索引
  • 更改 REINDEX DATABASE和 reindexdb,使其不处理系统目录上的索引
  • 使用 REINDEX SYSTEM 和 reindexdb --system仍然可以处理此类索引。
  • 收紧对继承表和分区表的 GENERATED表达式限制
  • 父 / 分区表和子 / 分区表的列必须全部具有相同的生成状态,尽管现在实际的生成表达式可能不同。
  • 删除 pg_walinspect 函数 pg_get_wal_records_info_till_end_of_wal() 和 pg_get_wal_stats_till_end_of_wal()
  • 将服务器变量 force_parallel_mode 重命名为 debug_parallel_query
  • 删除使用 ON SELECT 规则手动创建视图的功能
  • 删除服务器变量 vacuum_defer_cleanup_age
    • 自从添加了 hot_standby_feedback 和 replication slots 后,这个变量就没有必要了。
  • 删除服务器变量 promote_trigger_file
    • 这用于将备用数据库升级为主数据库,但现在使用 pg_ctl promote或 pg_promote()更容易完成。
  • 删除只读服务器变量 lc_collate 和 lc_ctype
    • 数据库之间的排序规则和区域设置可能有所不同,因此将它们作为只读服务器变量是没有帮助的。
  • 角色继承现在控制在 GRANT期间添加的成员角色的默认继承状态
    • 角色的默认继承行为可以用新的 GRANT ... WITH INHERIT 子句覆盖。这允许继承某些角色而不是其他角色,因为成员的继承状态是按 GRANT 时间设置的。以前,成员角色的继承状态仅由角色的继承状态控制,角色继承状态的更改会影响之前和将来的所有成员角色。
  • 限制色 CREATEROLE的权限及其修改其他角色的能力
    • 以前,具有 CREATEROLE 权限的角色可以更改任何非超级用户角色的许多方面。现在,此类更改(包括添加成员)需要请求更改的角色拥有 ADMIN OPTION 权限。例如,现在只有当他们同时拥有 CREATEDBREPLICATION 和 BYPASSRLS 属性的权限,才能更改这些属性。
  • 删除 postmaster 二进制文件的符号链接

相关文章

Oracle如何使用授予和撤销权限的语法和示例
Awesome Project: 探索 MatrixOrigin 云原生分布式数据库
下载丨66页PDF,云和恩墨技术通讯(2024年7月刊)
社区版oceanbase安装
Oracle 导出CSV工具-sqluldr2
ETL数据集成丨快速将MySQL数据迁移至Doris数据库

发布评论