pg_checksums
描述 pg_checksums 用于在 PostgreSQL 数据库集簇中检查、启用或禁用数据校验和。运行 pg_checksums 之前,必须先将服务器干净关闭。验证校验和时,如果没有校验和错误,则退出状态为零;如果检测到至少一个校验和失败,则退出状态为非零。启用或禁用校验和时,如果操作失败,则退出状态为非零。 在验证校验和时,集簇中的每个文件都会被扫描。启用校验和时,校验和发生变化的每个关系文件块都会被原地重写。禁用校验和只会更新文件 pg_control 。 选项 提供以下命令行选项: …
当前查看 PostgreSQL 18。
中文定义与说明
命令行工具 pg_checksums [ option ...] [[ -D | --pgdata ] datadir ]。
同版本中文手册节选
描述
pg_checksums 用于在 PostgreSQL 数据库集簇中检查、启用或禁用数据校验和。运行 pg_checksums 之前,必须先将服务器干净关闭。验证校验和时,如果没有校验和错误,则退出状态为零;如果检测到至少一个校验和失败,则退出状态为非零。启用或禁用校验和时,如果操作失败,则退出状态为非零。
在验证校验和时,集簇中的每个文件都会被扫描。启用校验和时,校验和发生变化的每个关系文件块都会被原地重写。禁用校验和只会更新文件 pg_control。
选项
提供以下命令行选项:
-Ddirectory--pgdata=directory指定存储数据库集簇的目录。
-c--check检查校验和。如果没有指定其他模式,这是默认模式。
-d--disable禁用校验和。
-e--enable启用校验和。
-ffilenode--filenode=filenode仅验证文件节点为
filenode的关系中的校验和。-N--no-sync默认情况下,
pg_checksums会等待所有文件被安全写入磁盘。该选项会使pg_checksums直接返回而不等待,这样速度更快,但也意味着如果随后操作系统崩溃,更新后的数据目录可能会损坏。通常,此选项适合测试,但不应在生产环境中使用。使用--check时,此选项不起作用。-P--progress启用进度报告。启用此选项后,在检查或启用校验和时会输出进度报告。
--sync-method=method设为
fsync(默认值)时,pg_checksums会递归打开并同步数据目录中的所有文件。查找文件时会跟随 WAL 目录和每个已配置表空间的符号链接。在 Linux 上,也可以改用
syncfs,请求操作系统同步包含数据目录、WAL 文件以及每个表空间的整个文件系统。使用syncfs时需注意的事项见 recovery_init_sync_method。使用
--no-sync时,此选项不起作用。-v--verbose启用详细输出,列出所有被检查的文件。
-V--version打印 pg_checksums 版本并退出。
-?--help显示关于 pg_checksums 命令行参数的帮助并退出。
说明
描述 pg_checksums 用于在 PostgreSQL 数据库集簇中检查、启用或禁用数据校验和。运行 pg_checksums 之前,必须先将服务器干净关闭。验证校验和时,如果没有校验和错误,则退出状态为零;如果检测到至少一个校验和失败,则退出状态为非零。启用或禁用校验和时,如果操作失败,则退出状态为非零。 在验证校验和时,集簇中的每个文件都会被扫描。启用校验和时,校验和发生变化的每个关系文件块都会被原地重写。禁用校验和只会更新文件 pg_control 。 选项 提供以下命令行选项: -D directory --pgdata= directory 指定存储数据库集簇的目录。 -c --check 检查校验和。如果没有指定其他模式,这是默认模式。 -d --disable 禁用校验和。 -e --enable 启用校验和。 -f filenode --filenode= filenode 仅验证文件节点为 filenode 的关系中的校验和。 -N --no-sync 默认情况下, pg_checksums 会等待所有文件被安全写入磁盘。该选项会使 pg_checksums 直接返回而不等待,这样速度更快,但也意味着如果随后操作系统崩溃,更新后的数据目录可能会损坏。通常,此选项适合测试,但不应在生产环境中使用。使用 --check 时,此选项不起作用。 -P --progress 启用进度报告。启用此选项后,在检查或启用校验和时会输出进度报告。 --sync-method= method 设为 fsync (默认值)时, pg_checksums 会递归打开并同步数据目录中的所有文件。查找文件时会跟随 WAL 目录和每个已配置表空间的符号链接。 在 Linux 上,也可以改用 syncfs ,请求操作系统同步包含数据目录、WAL 文件以及每个表空间的整个文件系统。使用 syncfs 时需注意的事项见 recovery_init_sync_method 。 使用 --no-sync 时,此选项不起作用。 -v --verbose 启用详细输出,列出所有被检查的文件
- 手册中的可执行程序
- pg_checksums
- 程序版本
- 18.6
- 参考清单
- 服务端程序
- 选项定义组
- 11
用法
pg_checksums [ option ...] [[ -D | --pgdata ] datadir ]手册中的选项
| 选项与参数 | 说明 |
|---|---|
| -D directory --pgdata= directory | 指定存储数据库集簇的目录。 |
| -c --check | 检查校验和。如果没有指定其他模式,这是默认模式。 |
| -d --disable | 禁用校验和。 |
| -e --enable | 启用校验和。 |
| -f filenode --filenode= filenode | 仅验证文件节点为 filenode 的关系中的校验和。 |
| -N --no-sync | 默认情况下, pg_checksums 会等待所有文件被安全写入磁盘。该选项会使 pg_checksums 直接返回而不等待,这样速度更快,但也意味着如果随后操作系统崩溃,更新后的数据目录可能会损坏。通常,此选项适合测试,但不应在生产环境中使用。使用 --check 时,此选项不起作用。 |
| -P --progress | 启用进度报告。启用此选项后,在检查或启用校验和时会输出进度报告。 |
| --sync-method= method | 设为 fsync (默认值)时, pg_checksums 会递归打开并同步数据目录中的所有文件。查找文件时会跟随 WAL 目录和每个已配置表空间的符号链接。 |
| -v --verbose | 启用详细输出,列出所有被检查的文件。 |
| -V --version | 打印 pg_checksums 版本并退出。 |
| -? --help | 显示关于 pg_checksums 命令行参数的帮助并退出。 |
环境变量
| 变量 | 含义 |
|---|---|
| PGDATA | 指定存储数据库集簇的目录;可以用 -D 选项覆盖。 |
| PG_COLOR | 指定诊断消息是否使用颜色。可选值为 always 、 auto 和 never 。 |
文档与源码
来源构建
- 版本
- 18.6
- 构建
- https://ftp.postgresql.org/pub/source/v18.6/postgresql-18.6.tar.bz2
- 来源指纹
ee8d1a3612338fd9adf250730cb640fcc5233b5491337cc00a316a44e3a0b9f8
版本比较
PostgreSQL 16 → 17: 属性变化。
以下差异保留原始字段名与英文源描述。
--- PostgreSQL 16
+++ PostgreSQL 17
@@ -67,6 +67,13 @@
"signature": "-P --progress"
},
{
+ "description": "When set to fsync , which is the default, pg_checksums will recursively open and synchronize all files in the data directory. The search for files will follow symbolic links for the WAL directory and each configured tablespace. On Linux, syncfs may be used instead to ask the operating system to synchronize the whole file systems that contain the data directory, the WAL files, and each tablespace. See recovery_init_sync_method for information about the caveats to be aware of when using syncfs . This option has no effect when --no-sync is used.",
+ "names": [
+ "--sync-method= method"
+ ],
+ "signature": "--sync-method= method"
+ },
+ {
"description": "Enable verbose output. Lists all checked files.",
"names": [
"-v",
比较已记录的接口与属性,排除来源指纹和构建元数据。某个样本中没有记录,不能据此判断实际引入或移除的版本。
相关条目
导出 JSON · 返回命令行工具 · 收录范围为 PostgreSQL 12 至 20;最早采样版本不一定是实际引入版本。