开源数据库PostgreSQL全球开发组发布PostgreSQL 15,该最新版本强化数据库操作性能,并进一步改进本地和分布式部署的工作负载,包括排序等操作。
在这个版本,PostgreSQL改进内存和磁盘的排序算法,基准测试显示根据排序的资料类型,可获得加速达25%到400%。使用row_number、rank、dense_rank和count作为窗函数,在PostgreSQL 15也可获得性能优势,同时,SELECT DISTINCT查询在新版本PostgreSQL中,已经可以平行执行。
PostgreSQL 15性能改进的范畴也涵盖存档和备份,其增加预写日志记录(WAL)文件对LZ4和zstd压缩支持,这对于特定工作负载来说,可以同时在空间和性能上获得好处,在部分操作系统,PostgreSQL 15增加了WAL中引用预截取页面的支持,加速恢复速度。
PostgreSQL内置的备份指令pg_basebackup,现在则开始支持服务器端的备份文件压缩,用户可以选择gzip、LZ4和zstd,另外,PostgreSQL 15让用户可以使用自定义模块进行存档,以消除使用shell层命令的额外成本。
开发人员功能更新方面,PostgreSQL 15加入SQL标准MERGE指令,使开发者可以编写条件SQL语句,这些语句可在单一语句中包含INSERT、UPDATE和DELETE操作。这个最新版本添加使用正规表达式检查字符串的函数,诸如regexp_count、regexp_instr、regexp_like和regexp_substr。
PostgreSQL增加逻辑复写功能的灵活性,对发布者提供列过滤和行列表功能,使用户可以选择从表格中所要复制的资料子集。PostgreSQL 15有让用户有更多处理冲突的手段,像是跳过重播冲突交易,以及在侦测到错误时,自动停用订阅功能等。
PostgreSQL 15加入了新的日志记录格式jsonlog,这种格式会使用定义的JSON结构输出日志资料,使用户可以在结构化日志系统方便地处理PostgreSQL日志。