腾讯云TDSQL PostgreSQL WAL日志清理

作者崔鹏,曾获得中国PostgreSQL数据库管理高级工程师(PGCM),是PostgreSQL官方认证讲师,Mysql 5.7/8.0 OCP,Oracle 11g OCM。

WAL是Write Ahead Log的简写,10版本以后在$PGDATA/pg_wal目录中 10之前的版本在$PGDATA/pg_xlog.

wal相关参数

#wal_compression = off 如果当全页写成为io瓶颈时,可以设置为on

#wal_log_hints = off 如果使用pg_rewind,需要设置为on

#wal_buffers = -1 默认-1会根据shared_buffers自动调整

打开这个选项的时候,PostgreSQL服务器在检查点之后对页面的第一次写入时将整个页面写到 WAL 里面。这么做是因为在操作系统崩溃过程中可能只有部分页面写入磁盘, 从而导致在同一个页面中包含新旧数据的混合。在崩溃后的恢复期间, 由于在WAL里面存储的行变化信息不够完整,因此无法完全恢复该页。把完整的页面影像保存下来就可以保证正确存储页面, 代价是增加了写入WAL的数据量。因为WAL重放总是从一个检查点开始的, 所以在检查点后每个页面第一次改变的时候做WAL备份就足够了。因此,一个减小全页面写开销的方法是增加检查点的间隔参数值。

#wal_writer_delay = 200ms wal writer进程的间歇时间,过大的话,可能会造成wal buffer不足,过小的话wal会不断写入,可能会有io瓶颈

#commit_delay = 0 至少有commit_siblings个并发事务时,该事务提交后,wal日志将延迟commit_delay时间后再写入磁盘。可以合并其他事务进行组提交,所以当有大量事务的时候会延迟,而如果事务很稀少就不会

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值