PostgreSQL 16是一款功能强大的开源关系数据库管理系统(RDBMS),它以其可靠性、稳健性和丰富的功能特性而受到广泛认可。
PostgreSQL 16作为PostgreSQL数据库系列的一个新版本,于2023年发布,带来了多项性能改进和功能增强。它继承了PostgreSQL一贯的开源精神,持续吸引着全球开发者社区的关注与贡献,成为各种规模组织处理复杂数据需求的优选方案。
性能提升
查询并行性增强:PostgreSQL 16支持更多的并行查询操作,包括外连接、全连接查询以及聚合函数(如string_agg和array_agg)的并行执行,显著提高了查询效率。
批量数据加载优化:使用COPY命令并发批量加载数据的性能提升到了300%,极大地加快了数据导入速度。
CPU加速:引入了基于SIMD(单指令流多数据流)技术的CPU加速,优化了ASCII和JSON字符串处理,以及数组和子事务搜索的性能。
逻辑复制改进
更多复制选项:用户现在可以在备节点执行逻辑解码,为逻辑复制提供了更多灵活性,如使用压力较小的备节点作为复制源。
性能提升:订阅者可以并行应用大型事务,使用索引而非主键执行UPDATE或DELETE操作,并支持初始化时使用二进制格式复制表,进一步提高了逻辑复制的性能。
双向逻辑复制:支持在两个表之间(可能来自不同的发布者)进行双向数据复制,增强了数据同步的灵活性和可靠性。
SQL/JSON标准支持
SQL/JSON构造函数:如JSON_ARRAY()、JSON_ARRAYAGG()等,方便用户直接在SQL中构建和操作JSON数据。
检查函数:如IS JSON,用于验证数据是否符合JSON格式。
安全与访问控制
新预定义角色:如pg_maintain(执行维护操作)和pg_create_subscription(创建逻辑复制订阅),无需授予超级用户特权即可执行特定任务。
正则表达式匹配:在pg_hba.conf和pg_ident.conf文件中支持用户名和数据库名的正则表达式匹配,以及引用外部配置文件,提高了配置的灵活性和安全性。
Kerberos证书委托:允许扩展插件使用已验证的凭据连接到其他服务,增强了安全性。
监控与统计
I/O统计信息:引入了pg_stat_io视图,提供关键I/O指标的新来源,帮助用户精细分析I/O访问模式。
其他监控功能:如提供表或索引最后一次扫描的时间戳,改进了pg_stat_activity使用的归一化算法,以及改进了页面冻结策略,提高了VACUUM和其他维护操作的性能。
其他新特性
非十进制整数常量支持:如十六进制(0xff)、八进制(0o777)和二进制(0b101010)常量,以及使用下划线作为千分位分隔符(如5_432)。
扩展查询协议:psql客户端支持扩展查询协议,允许用户执行参数化查询,并使用\bind命令替换查询中的变量。
文本排序规则改进:默认构建ICU支持,提供自定义ICU排序规则的能力,增强了文本排序的灵活性和准确性。
构建系统更新:引入了Meson构建系统,作为未来替代Autoconf的备选方案。