加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

postgresql – 关于checkpoint_segments参数

发布时间:2020-12-13 16:24:36 所属栏目:百科 来源:网络整理
导读:我不太清楚参数“checkpoint_segments”,我的个人观点是它意味着 沃尔玛日志文件的数量;我将参数的值配置为64,但我可以看到131个文件 pg_xlog目录. 有人可以解释参数吗? --detailpostgres=# show checkpoint_segments; checkpoint_segments ---------------
我不太清楚参数“checkpoint_segments”,我的个人观点是它意味着
沃尔玛日志文件的数量;我将参数的值配置为64,但我可以看到131个文件
pg_xlog目录.

有人可以解释参数吗?

--detail
postgres=# show checkpoint_segments;
 checkpoint_segments 
---------------------
 64
(1 row)

[postgres@pg_root]$cd $PGDATA
[postgres@pg_root]$ls -lrt pg_xlog | wc -l
132
对于后台:WAL(预写日志记录)是确保在发生崩溃时可以恢复数据库而不需要在每次写入后刷新数据文件的机制.基本上,在将任何更改写入数据文件之前,首先会记录它.如果发生崩溃,可以使用日志重做任何未进入磁盘的更改.

pg_xlog中的每个文件都是WAL段. checkpoint_segments以及checkpoint_timeout控制何时完成WAL检查点(检查点在checkpoint_segments段已经填满或checkpoint_timeout秒已经过去之后完成,以先到者为准);检查点是保证数据文件已被刷新的时刻,因此重做过程不需要考虑检查点之前的日志中的任何事务.

根据the documentation(我在上面提到的大部分内容),在8.3之前,pg_xlog目录中通常会有2 * checkpoint_segments 1个段文件;从8.3开始,预期的数字是(2 checkpoint_completion_target)* checkpoint_segments 1(或9.0中的wal_keep_segments,如果更大).在任何情况下,checkpoint_segments为64的131个段文件都接近预期的最小值.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读