PostgreSQL 15是PostgreSQL数据库系统的一个重要版本,该版本在性能、安全性、易用性和可扩展性等方面进行了多项改进和增强。
性能提升
- 并行执行计划生成:PostgreSQL 15引入了新的并行执行计划生成器,可以更好地利用多核处理器资源,提高查询性能。
- 并行数据加载:通过并行数据加载功能,用户可以将大型数据集快速加载到数据库中,提高数据处理效率。
- 并行索引创建:在创建索引时,PostgreSQL 15可以自动选择并行度,以提高索引创建的速度。
- 排序优化:PostgreSQL 15改进了内存和磁盘排序算法,基准测试显示,在对不同数据类型的排序时,速度可提高25%到400%不等。
- 查询优化器改进:对查询优化器进行了多项改进,包括更精确的成本估算和更好的查询重写策略,从而提高查询性能。
- 并行排序增强:引入了新的并行排序算法,可以更好地利用多核处理器资源,提高排序操作的效率。
功能增强
SQL MERGE命令:PostgreSQL 15增加了SQL标准的MERGE命令,允许用户编写包含INSERT、UPDATE和DELETE操作的SQL语句,简化了数据更新操作。
JSON/JSONB增强:
- 对JSONB数据类型进行了多项增强,包括新增的函数和操作符,以及对JSONB索引的支持。
- 引入了新的JSON路径表达式语法,提供了更灵活和强大的JSON处理能力。
- 引入了JSONBGIN索引,可用于全文搜索和范围查询等场景。
正则表达式函数:增加了使用正则表达式的新函数,如regexp_count、regexp_instr、regexp_like和regexp_substr,用于检查字符串。
范围聚合函数:range_agg函数现在可以支持聚合multirange数据类型数据。
备份和归档:
- 增加了对预写日志(WAL)文件LZ4和Zstandard(zstd)的压缩支持,可以在一定的工作负载下获得空间和性能上的改进。
- 内置备份命令pg_basebackup现在支持服务器端的备份文件压缩,可以选择gzip、LZ4和zstd格式。
- 包含了使用自定义模块进行归档的能力,减少了使用shell命令的开销。
安全性改进
- 角色管理改进:对角色管理进行了改进,提供了更多的权限控制选项,增强了数据库的安全性。
- SSL/TLS支持增强:对SSL/TLS支持进行了增强,提供了更多的配置选项和更高的安全性。
- 安全审计功能:引入了安全审计功能,可以记录数据库的操作日志,并提供实时监控和报警功能。
易用性提升
- 开发者体验:引入新的MERGE特性,简化了数据更新操作;增强了JSON处理能力,使开发者能够更灵活地处理JSON数据。
- 管理灵活性:为管理逻辑复制提供了更多的灵活性,如支持在逻辑复制中使用两阶段提交(2PC),增加了跳过重新执行冲突事务和自动停止订阅的能力。
- 日志格式改进:引入了jsonlog日志格式,使用JSON结构输出日志数据,便于在结构化日志系统中处理PostgreSQL日志。
- 配置管理:增加了授予用户更改服务器级配置参数的权限的能力,并提供了psql命令行工具中的\dconfig命令来搜索有关配置的信息。
其他改进
- 兼容性改进:对兼容性进行了多项改进,包括对旧版本的兼容性和对其他数据库的兼容性。
- 扩展性:PostgreSQL 15支持更多的扩展和自定义功能,允许用户根据实际需求进行定制和优化。