↑↓ 选择↵ 打开⌫ 切换范围完整搜索

PG.CENTER 连接 PostgreSQL 文档、百科与生态知识。由 Pigsty 维护。

支持中的版本: 当前版本 (18) / 17 / 16 / 15 / 14
开发中的版本: 19 / 20devel
已结束支持的版本: 13 / 12 / 11 / 10 / 9.6 / 9.5 / 9.4 / 9.3 / 9.2 / 9.1 / 9.0 / 8.4 / 8.3 / 8.2 / 8.1 / 8.0 / 7.4 / 7.3 / 7.2 / 7.1
预发布版本文档。 PostgreSQL 19beta4 为测试版本,最终发布内容可能有所不同。

CHECKPOINT

CHECKPOINT — 强制执行一次预写式日志检查点

大纲

CHECKPOINT [ ( option [, ...] ) ]

其中option可以是:

    FLUSH_UNLOGGED [ boolean ]
    MODE { FAST | SPREAD }

描述

检查点是预写式日志序列中的一个位置,到这一位置时,永久关系的所有数据文件都已更新,以反映日志中的信息。永久关系文件的所有数据都会被刷写到磁盘。除非指定 FLUSH_UNLOGGED,否则不会刷写不记录 WAL 的关系的脏缓冲区。有关检查点期间会发生什么的更多细节,参见第 28.5 节。

默认情况下,CHECKPOINT 命令会在发出该命令时强制执行一个快速检查点,而不是等待系统安排的常规检查点(由第 19.5.2 节中的设置控制)。若要请求将检查点分散到更长的时间内,可将 MODE 选项设为 SPREAD。CHECKPOINT 并非设计用于正常运行期间。

服务器可能会合并同时请求的检查点。这类合并后的请求将包含一组合并后的选项。例如,如果一个会话请求快速检查点,而另一个会话请求分散检查点,服务器可能会合并这些请求并执行一个快速检查点。

如果在恢复期间执行 CHECKPOINT 命令,它将强制执行一个重启点(见第 28.5 节),而不是写入一个新的检查点。

只有超级用户,或者具有 pg_checkpoint 角色权限的用户,才能调用 CHECKPOINT。

参数

FLUSH_UNLOGGED #

通常,CHECKPOINT 不会刷写不记录 WAL 的关系的脏缓冲区。该选项默认关闭,启用后会将不记录 WAL 的关系刷写到磁盘。

MODE #

当设为 FAST 时,这是默认值,请求的检查点会尽可能快地完成,这可能导致检查点期间的 I/O 速率显著升高。

MODE 也可以设为 SPREAD,以请求将检查点分散到更长的时间内(由第 19.5.2 节中的设置控制),类似于系统安排的常规检查点。这可以降低检查点期间的 I/O 速率。

boolean #

指定所选选项应开启还是关闭。你可以使用 TRUE、ON 或 1 来启用该选项,使用 FALSE、OFF 或 0 来禁用它。boolean 值也可以省略,此时默认视为 TRUE。

兼容性

CHECKPOINT 命令是 PostgreSQL 的一种语言扩展。

报告文档问题

阅读 上游文档. 反馈更正前请先核对 当前版本手册.