首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >当checkpoint_segments到达时会发生什么?

当checkpoint_segments到达时会发生什么?
EN

Database Administration用户
提问于 2012-05-29 07:44:53
回答 1查看 1.1K关注 0票数 3

我有点困惑于checkpoint_segments文档中的PostgreSQL定义。当checkpoint_segments到达时会发生什么?

  1. shared_buffers中写到WAL的脏页。那么背景作家的用法是什么呢?
  2. WAL被合并到实际数据文件中。
EN

回答 1

Database Administration用户

回答已采纳

发布于 2012-05-29 09:50:39

通过对文档的梳理,我看到以下内容(其他人有希望(或肯定)指出意外的不正确的细节):

有一个单独的服务器进程称为后台编写程序,其功能是发出对“脏”(新的或修改的)共享缓冲区的写入。

BW根据其配置参数执行其工作。它最多编写bgwriter_lru_maxpages脏共享缓冲区,然后有一个bgwriter_delay毫秒rest。现在,当涉及到checkpoint_segments日志段(或者checkpoint_timeout秒,如果是第一个)时,它会将所有(剩余的)脏段刷新到数据文件中。现在,数据库数据在磁盘上具有一致的状态,日志中也有相应的条目。如果需要的话,这是随后重做的一个很好的起点。

检查点是谁做的?

服务器的后台编写程序自动执行检查点...

至于第二点,WAL是WAL (存储在日志段文件中),数据文件是数据文件。两者将是一致的,但不合并。

票数 3
EN
页面原文内容由Database Administration提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://dba.stackexchange.com/questions/18492

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档