我有点困惑于checkpoint_segments文档中的PostgreSQL定义。当checkpoint_segments到达时会发生什么?
发布于 2012-05-29 09:50:39
通过对文档的梳理,我看到以下内容(其他人有希望(或肯定)指出意外的不正确的细节):
有一个单独的服务器进程称为后台编写程序,其功能是发出对“脏”(新的或修改的)共享缓冲区的写入。
BW根据其配置参数执行其工作。它最多编写bgwriter_lru_maxpages脏共享缓冲区,然后有一个bgwriter_delay毫秒rest。现在,当涉及到checkpoint_segments日志段(或者checkpoint_timeout秒,如果是第一个)时,它会将所有(剩余的)脏段刷新到数据文件中。现在,数据库数据在磁盘上具有一致的状态,日志中也有相应的条目。如果需要的话,这是随后重做的一个很好的起点。
检查点是谁做的?
服务器的后台编写程序自动执行检查点...
至于第二点,WAL是WAL (存储在日志段文件中),数据文件是数据文件。两者将是一致的,但不合并。
https://dba.stackexchange.com/questions/18492
复制相似问题