暂无图片
暂无图片
4
暂无图片
暂无图片
暂无图片

PostgreSQL 15新版本余晖:参数变化

原创 多米爸比 2022-10-20
1384

PostgreSQL 15相比上一个版本,主要有14个参数发生了变化,下面简要进行介绍。

一、内存方面

hash_mem_multiplier参数默认值扩大一倍

当哈希操作占用的内存超过work_mem * hash_mem_multiplier的乘积之后,剩余的内存占用会溢出到磁盘。该参数在13和14里默认值是1,15里增大到2,允许哈希操作相比其它操作可以使用双倍的work_mem。

新增shared_memory_size参数

该参数记录由shared_preload_libraries配置的扩展插件使用的运行时内存。

新增shared_memory_size_in_huge_pages新增

显示huge_page_size使用且与shared_memory_size参数相关的大页内存。

二、日志方面

log_destination参数新增jsonlog选项

数据库日志支持json格式,详细使用可以参考文章:PostgreSQL 15新特性预览:json日志

log_checkpoints参数默认值变为了on

log_autovacuum_min_duration参数默认值变为了10min

新增log_startup_progress_interval参数

数据库启动恢复过程在一些场景可能较慢,例如系统需要花费一些时间去apply应用WAL,或者是花费较长时间重置unlogged对象,或者执行fsync同步数据到磁盘,但数据库日志并不能很好体现是哪个阶段,设置该参数当某个阶段耗时达到默认设置的10s后会更新某个阶段的状态信息。

三、统计信息方面

移除stats_temp_directory参数

PostgreSQL 15之前有一个统计信息收集进程通过本地UDP包收集更新统计信息,并存储在文件系统stats_temp_directory参数配置的目录里,并且所有的客户端会话可以从该目录读取统计信息。

PostgreSQL 15废弃了统计信息收集进程,记录到共享内存中,所以这个参数已经没有作用了。

新增stats_fetch_consistency参数

该参数针对一个transaction里多次访问累计的统计信息时,一致性读取可以有三个值:none、cache 、snapshot。

  • none: 每次从共享内存重新获取,效率最高,适用场景为监控类软件使用的查询。
  • cache: 首次访问后缓存,直到transaction结束或手工调用pg_stat_clear_snapshot()都不会重新获取,可以确保重复获取到相同的值,效率适中。
  • snapshot: 首次访问后database级别缓存,直到transaction结束或手工调用pg_stat_clear_snapshot()都不会重新获取,可以确保当前数据库内都可获取到相同的值,开销最大。

该参数的默认值为cache,出于平衡的考虑。

四、流复制相关

wal_compression支持lz4和zstd压缩算法

wal_compression设置选项在PostgreSQL 15之前只能设置为off和on,设置为on时采用内置的pglz算法进行压缩,PostgreSQL 15除了设置off和on两个选项,增加了pglz、lz4和zstd三个选项值。

新增archive_library参数

该参数让归档操作增加了新的实现方式,可通过加载basic_archive模块来替代archive_command。相比archive_command使用shell命令来对每一个文件进行归档,如果产生大量的WAL,服务端需要等待本地shell命令的交互,它的优势会比较明显。

注意:使用archive_library参数后,archive_command不会生效。

新增recovery_prefetch参数

该参数在数据库recovery期间,对WAL的处理增加一个预读取的功能,可以降低IO等待时间。同时可以通过系统视图pg_stat_recovery_prefetch来进行观察。

新增wal_decode_buffer_size参数

如果打开了WAL预取参数,设置WAL解码的缓存大小。

五、递归查询的优化

新增recursive_worktable_factor参数

该参数允许用户在使用with做递归查询的工作负载中设置worktable的大小进行性能调整,可以预防死循环导致的问题。

保持联系

从2019年12月开始写第一篇文章,分享的初心一直在坚持,本人现在组建了一个PG乐知乐享交流群,欢迎关注我文章的小伙伴加我微信进群吹牛唠嗑,交流技术。

456.png

最后修改时间:2022-11-08 09:49:43
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论