ThinkChat🤖让你学习和工作更高效,注册即送10W Token,即刻开启你的AI之旅 广告
       pg_checksums在PostgreSQL集簇中检查、启用或禁用数据校验和。运行pg_checksums之前,必须彻底关闭服务器。验证校验和时,如果没有校验和错误,则退出状态为零,如果检测到至少一个校验和失败,则退出状态为非零。启用或禁用校验和时,如果操作失败,则退出状态为非零。        验证校验和时,集簇中的每个文件都要被扫描。启用校验和时,集簇中的每个文件都会被原地重写。禁用校验和时,仅更新`pg_control`文件        PostgreSQL允许用户开启block checksum功能,使用pg_checksums工具(12.0版本之前为pg_verify_checkums),**可以对整个数据库或指定的数据文件进行checksum校验,确保数据文件逻辑上一致**。 **使用注意:** * 1  对于大型的数据库操作可能需要比较长的时间, 系统需要在关闭的状态下进行 * 2  对于正在复制的系统,不要轻易启动或者关闭这个参数,如果要关闭,需要将所有的复制的机器全部关闭,否则会造成在切换的过程中,数据损坏导致整体数据库无法在使用. **命令格式:** pg_checksums [OPTION]... [DATADIR] > **option:** > * **[-D, --pgdata=]DATADIR**:指定数据目录 > * **-c, --check** :检查校验和,默认参数 > * **-d, --disable** :禁止校验和 > * **-e, --enable**:启用校验和 > * **-f, --filenode=FILENODE**:仅验证文件节点为*`filenode`*的关系中的校验和 > * **-N, --no-sync**:默认情况下,`pg_checksums`会等待所有文件安全地写到磁盘上,该选项使得`pg_checksums`不等待就返回,这样更快,但意味着后续如果操作系统崩溃会让更新的数据目录损坏。一般地,该选项对测试有用,但不应用在生产安装上。当使用`--check`时,该选项无效 > * **-P, --progress**:启用进度报告。在检查或启用校验和时,打开该选项,会提供进度报告 > * **-v, --verbose** :启用详细输出。列出所有检查的文件 > * **-V, --version**:打印pg\_checksums版本并退出 > * **-?, --help** :显示关于pg\_checksums命令行参数的帮助并退出。 ``` [postgres@izwz91quxhnlkan8kjak5hz bin]$ pg_checksums -e -D /www/server/data/postgres Checksum operation completed Files scanned: 1246 Blocks scanned: 72383 pg_checksums: syncing data directory pg_checksums: updating control file Data checksum version: 1 Checksums enabled in cluster ```