几年前,大约在 PostgreSQL 12 发布时,我创建了一个工具 pgConfig 来帮助识别对postgresql.conf
. 当我处理各种主要版本升级时,pgConfig 工具帮助我了解(并保持)对 Postgres 配置的重要更改。现在Postgres 15 可用, pgConfig 已更新 为最新配置。这篇文章简要介绍了 Postgres 15 版本postgresql.conf
选项的变化。
变更摘要
postgresql.conf
Postgres 15 有 6 个新项目、3 个更改项目和 1 个已删除项目。
日志记录和统计信息的更改
Postgres 15 引入了一个新的日志记录选项,并将两个现有的日志记录选项更改为默认启用。新的日志选项log_startup_progress_interval
默认为10s
,启用在服务器启动过程中记录慢速步骤。该log_checkpoints
选项现在on
是默认设置,并log_autovacuum_min_duration
设置为10min
。这些选项在 错误报告和日志记录 部分中进行了描述。
另一个新的配置选项是stats_fetch_consistency
,默认cache
。Postgres 15 正在改变 收集统计信息的方式, 以使用共享内存而不是写入磁盘的后端进程。此更改与新功能 pg_stat_clear_snapshot()
以及该stats_temp_directory
选项的删除有关。如果您使用数据库统计信息,则值得阅读 查看统计信息 部分。
有趣的补充
我在这篇文章中介绍的最后一个更改暗示了使用递归查询的工作负载的新性能调整选项。recursive_worktable_factor选项 default10
允许查询计划器为递归查询提供更好的计划。 如果这对您来说很重要,那么邮件列表讨论 值得一读,以了解此选项背后的背景和意图。如果您使用递归查询,则可能值得测试增加/减少此值对您的特定用例的影响。
概括
这篇文章重点介绍了 Postgres 15 配置选项的变化。日志记录和统计数据有一些变化,可能还有一些改进特定递归查询的能力。在配置文件选项之外,Postgres 15 为表格带来了很多改进。我对使用 null 值对唯一约束的改进 以及对排序的性能增强感到高兴。
原文标题:Postgres 15 Configuration Changes
原文作者:Ryan Lambert
原文链接:https://blog.rustprooflabs.com/2022/10/postgres-15-config-changes
评论
