{"Entry":{"collection":"tool","key":"pg-verifybackup","name":"pg_verifybackup","aliases":["pg_verifybackup"],"metadata":{"aliases":["pg_verifybackup"],"category":"Client applications","content_hash":"617cdb97e0544fa393878fa848f2968d5858c3d2cab606818e426bd304e8ef30","derived_content_hash":"f6ca88e70c88430a1176802d4911122ec4440deb3e61125a2aec00af5cbffefd","imported_at":"2026-09-30T00:40:34.47657+08:00","name":"pg_verifybackup","name_zh":"","slug":"pg-verifybackup","summary":"pg_verifybackup — verify the integrity of a base backup of a PostgreSQL cluster"}},"Definition":{"Collection":"tool","Key":"pg-verifybackup","SourceDatabase":"center","Version":"18","SourceTable":"command_tool","SourceKey":"pg-verifybackup","SourceRevision":"ee8d1a3612338fd9adf250730cb640fcc5233b5491337cc00a316a44e3a0b9f8","Facts":{"comparison_data":{"environment":[],"options":[{"description":"Exit as soon as a problem with the backup is detected. If this option is not specified, pg_verifybackup will continue checking the backup even after a problem has been detected, and will report all problems detected as errors.","names":["-e","--exit-on-error"],"signature":"-e --exit-on-error"},{"description":"Specifies the format of the backup. format can be one of the following: p plain Backup consists of plain files with the same layout as the source server's data directory and tablespaces. t tar Backup consists of tar files, which may be compressed. A valid backup includes the main data directory in a file named base.tar , the WAL files in pg_wal.tar , and separate tar files for each tablespace, named after the tablespace's OID. If the backup is compressed, the relevant compression extension is added to the end of each file name.","names":["-F format","--format= format"],"signature":"-F format --format= format"},{"description":"Ignore the specified file or directory, which should be expressed as a relative path name, when comparing the list of data files actually present in the backup to those listed in the backup_manifest file. If a directory is specified, this option affects the entire subtree rooted at that location. Complaints about extra files, missing files, file size differences, or checksum mismatches will be suppressed if the relative path name matches the specified path name. This option can be specified multiple times.","names":["-i path","--ignore= path"],"signature":"-i path --ignore= path"},{"description":"Use the manifest file at the specified path, rather than one located in the root of the backup directory.","names":["-m path","--manifest-path= path"],"signature":"-m path --manifest-path= path"},{"description":"Don't attempt to parse write-ahead log data that will be needed to recover from this backup.","names":["-n","--no-parse-wal"],"signature":"-n --no-parse-wal"},{"description":"Enable progress reporting. Turning this on will deliver a progress report while verifying checksums. This option cannot be used together with the option --quiet .","names":["-P","--progress"],"signature":"-P --progress"},{"description":"Don't print anything when a backup is successfully verified.","names":["-q","--quiet"],"signature":"-q --quiet"},{"description":"Do not verify data file checksums. The presence or absence of files and the sizes of those files will still be checked. This is much faster, because the files themselves do not need to be read.","names":["-s","--skip-checksums"],"signature":"-s --skip-checksums"},{"description":"Try to parse WAL files stored in the specified directory, rather than in pg_wal . This may be useful if the backup is stored in a separate location from the WAL archive.","names":["-w path","--wal-directory= path"],"signature":"-w path --wal-directory= path"},{"description":"Print the pg_verifybackup version and exit.","names":["-V","--version"],"signature":"-V --version"},{"description":"Show help about pg_verifybackup command line arguments, and exit.","names":["-?","--help"],"signature":"-? --help"}],"synopsis":["pg_verifybackup [ option ...]"]},"comparison_hash":"713579f713732d850e7621f55d2508d075087e1f20aa56ca669fbd749c9a737c","description":["pg_verifybackup — verify the integrity of a base backup of a PostgreSQL cluster"],"description_zh":"描述 pg_verifybackup 用于依据服务器在备份时生成的 backup_manifest ，检查使用 pg_basebackup 获取的数据库集簇备份的完整性。备份既可以采用“普通文件”格式，也可以采用“tar”格式；其中也包括使用 pg_basebackup 支持的任意算法压缩的 tar 格式备份。不过，目前仅支持对普通文件格式备份执行 WAL 验证。因此，如果备份采用 tar 格式存储，应使用 -n, --no-parse-wal 选项。 需要注意， pg_verifybackup 执行的验证并未、也不可能涵盖运行中的服务器在尝试使用该备份时会执行的每一项检查。即使使用了此工具，你仍应进行测试恢复，并确认生成的数据库按预期工作且看起来包含正确的数据。不过， pg_verifybackup 能够检测出许多因存储问题或用户错误而常见的问题。 备份验证分为四个阶段。首先， pg_verifybackup 读取 backup_manifest 文件。如果该文件不存在、无法读取、格式不正确、其系统标识符与备份目录中的 pg_control 不匹配，或者未能通过其自身内部校验和的验证， pg_verifybackup 就会以致命错误终止。 其次， pg_verifybackup 将尝试验证当前存储在磁盘上的数据文件与服务器原本打算发送的数据文件完全一致，但下文所述的少数例外情况除外。除了少数例外情况之外，多余文件和缺失文件都会被检测出来。此步骤会忽略 postgresql.auto.conf 、 standby.signal 和 recovery.signal 的存在或缺失，以及对它们的任何修改，因为预计这些文件可能是在执行备份的过程中创建或修改的。它也不会因目标目录中的 backup_manifest 文件，或 pg_wal 中的任何内容而报告问题，尽管这些文件不会列在备份清单中。这里只检查文件；除间接情况外，不会验证目录是否存在：如果某个目录缺失，则它本应包含的任何文件也必然会缺失。 接着， pg_verifybackup 会为所有文件计算校验和，将其与备份清单中","description_zh_html":"\u003cp\u003e命令行工具 pg_verifybackup [ option ...]。\u003c/p\u003e\u003ch3\u003e同版本中文手册节选\u003c/h3\u003e\u003cdiv class=\"refsect1\"\u003e\u003ch2\u003e描述\u003c/h2\u003e\u003cp\u003e\n\u003cspan class=\"application\"\u003epg_verifybackup\u003c/span\u003e 用于依据服务器在备份时生成的\n   \u003ccode class=\"literal\"\u003ebackup_manifest\u003c/code\u003e，检查使用\n   \u003ccode class=\"command\"\u003epg_basebackup\u003c/code\u003e 获取的数据库集簇备份的完整性。备份既可以采用“普通文件”格式，也可以采用“tar”格式；其中也包括使用\n   \u003cspan class=\"application\"\u003epg_basebackup\u003c/span\u003e 支持的任意算法压缩的 tar 格式备份。不过，目前仅支持对普通文件格式备份执行 \u003ccode class=\"literal\"\u003eWAL\u003c/code\u003e\n   验证。因此，如果备份采用 tar 格式存储，应使用\n   \u003ccode class=\"literal\"\u003e-n, --no-parse-wal\u003c/code\u003e 选项。\n  \u003c/p\u003e\u003cp\u003e\n   需要注意，\u003cspan class=\"application\"\u003epg_verifybackup\u003c/span\u003e 执行的验证并未、也不可能涵盖运行中的服务器在尝试使用该备份时会执行的每一项检查。即使使用了此工具，你仍应进行测试恢复，并确认生成的数据库按预期工作且看起来包含正确的数据。不过，\u003cspan class=\"application\"\u003epg_verifybackup\u003c/span\u003e 能够检测出许多因存储问题或用户错误而常见的问题。\n  \u003c/p\u003e\u003cp\u003e\n   备份验证分为四个阶段。首先，\u003ccode class=\"literal\"\u003epg_verifybackup\u003c/code\u003e 读取\n   \u003ccode class=\"literal\"\u003ebackup_manifest\u003c/code\u003e 文件。如果该文件不存在、无法读取、格式不正确、其系统标识符与备份目录中的 \u003ccode class=\"filename\"\u003epg_control\u003c/code\u003e\n   不匹配，或者未能通过其自身内部校验和的验证，\u003ccode class=\"literal\"\u003epg_verifybackup\u003c/code\u003e 就会以致命错误终止。\n  \u003c/p\u003e\u003cp\u003e\n   其次，\u003ccode class=\"literal\"\u003epg_verifybackup\u003c/code\u003e 将尝试验证当前存储在磁盘上的数据文件与服务器原本打算发送的数据文件完全一致，但下文所述的少数例外情况除外。除了少数例外情况之外，多余文件和缺失文件都会被检测出来。此步骤会忽略 \u003ccode class=\"literal\"\u003epostgresql.auto.conf\u003c/code\u003e、\u003ccode class=\"literal\"\u003estandby.signal\u003c/code\u003e 和 \u003ccode class=\"literal\"\u003erecovery.signal\u003c/code\u003e\n   的存在或缺失，以及对它们的任何修改，因为预计这些文件可能是在执行备份的过程中创建或修改的。它也不会因目标目录中的\n   \u003ccode class=\"literal\"\u003ebackup_manifest\u003c/code\u003e 文件，或 \u003ccode class=\"literal\"\u003epg_wal\u003c/code\u003e\n   中的任何内容而报告问题，尽管这些文件不会列在备份清单中。这里只检查文件；除间接情况外，不会验证目录是否存在：如果某个目录缺失，则它本应包含的任何文件也必然会缺失。\n  \u003c/p\u003e\u003cp\u003e\n   接着，\u003ccode class=\"literal\"\u003epg_verifybackup\u003c/code\u003e 会为所有文件计算校验和，将其与备份清单中的值进行比较，并对计算结果与备份清单中保存的校验和不匹配的文件报错。对于上一步已产生错误的文件，不会执行这一步，因为这些文件已经确定存在问题。在上一步中被忽略的文件，在这一步中也会被忽略。\n  \u003c/p\u003e\u003cp\u003e\n   最后，\u003ccode class=\"literal\"\u003epg_verifybackup\u003c/code\u003e 会利用备份清单验证从该备份执行恢复所需的预写式日志记录是否存在，并且能够被读取和解析。\u003ccode class=\"literal\"\u003ebackup_manifest\u003c/code\u003e 包含关于所需预写式日志记录的信息，\u003ccode class=\"literal\"\u003epg_verifybackup\u003c/code\u003e 会利用这些信息调用\n   \u003ccode class=\"literal\"\u003epg_waldump\u003c/code\u003e 来解析这些预写式日志记录。调用时会使用\n   \u003ccode class=\"literal\"\u003e--quiet\u003c/code\u003e 标志，这样 \u003ccode class=\"literal\"\u003epg_waldump\u003c/code\u003e\n   只会报告错误，而不会产生其他输出。这个层次的验证足以发现诸如文件缺失或文件内部校验和不匹配之类的明显问题，但还不够全面，无法检测恢复时可能发生的每一种问题。例如，如果服务器中的 bug 生成了校验和正确、但指定的动作毫无意义的预写式日志记录，这种方法就无法检测出来。\n  \u003c/p\u003e\u003cp\u003e\n   另请注意，如果存在恢复该备份并不需要的额外 WAL 文件，此工具不会检查它们；不过，可以为此单独调用一次 \u003ccode class=\"literal\"\u003epg_waldump\u003c/code\u003e。还要注意，WAL 验证与版本相关：你必须使用与被检查备份对应版本的\n   \u003ccode class=\"literal\"\u003epg_verifybackup\u003c/code\u003e，因此也必须使用对应版本的\n   \u003ccode class=\"literal\"\u003epg_waldump\u003c/code\u003e。相比之下，数据文件完整性检查应当适用于任何能够生成 \u003ccode class=\"literal\"\u003ebackup_manifest\u003c/code\u003e 文件的服务器版本。\n  \u003c/p\u003e\u003c/div\u003e\u003cdiv class=\"refsect1\"\u003e\u003ch2\u003e选项\u003c/h2\u003e\u003cp\u003e\n\u003cspan class=\"application\"\u003epg_verifybackup\u003c/span\u003e 接受以下命令行参数：\n\n    \u003c/p\u003e\u003cdiv class=\"variablelist\"\u003e\u003cdl class=\"variablelist\"\u003e\u003cdt\u003e\u003cspan class=\"term\"\u003e\u003ccode class=\"option\"\u003e-e\u003c/code\u003e\u003cbr/\u003e\u003c/span\u003e\u003cspan class=\"term\"\u003e\u003ccode class=\"option\"\u003e--exit-on-error\u003c/code\u003e\u003c/span\u003e \u003c/dt\u003e\u003cdd\u003e\u003cp\u003e\n        一旦检测到备份存在问题就立即退出。如果未指定此选项，\u003ccode class=\"literal\"\u003epg_verifybackup\u003c/code\u003e 即使在发现问题之后也会继续检查备份，并将检测到的所有问题报告为错误。\n       \u003c/p\u003e\u003c/dd\u003e\u003cdt\u003e\u003cspan class=\"term\"\u003e\u003ccode class=\"option\"\u003e-F \u003cem class=\"replaceable\"\u003e\u003ccode\u003eformat\u003c/code\u003e\u003c/em\u003e\u003c/code\u003e\u003cbr/\u003e\u003c/span\u003e\u003cspan class=\"term\"\u003e\u003ccode class=\"option\"\u003e--format=\u003cem class=\"replaceable\"\u003e\u003ccode\u003eformat\u003c/code\u003e\u003c/em\u003e\u003c/code\u003e\u003c/span\u003e \u003c/dt\u003e\u003cdd\u003e\u003cp\u003e\n        指定备份格式。\u003cem class=\"replaceable\"\u003e\u003ccode\u003eformat\u003c/code\u003e\u003c/em\u003e 可以是下列值之一：\n\n        \u003c/p\u003e\u003cdiv class=\"variablelist\"\u003e\u003cdl class=\"variablelist\"\u003e\u003cdt\u003e\u003cspan class=\"term\"\u003e\u003ccode class=\"literal\"\u003ep\u003c/code\u003e\u003cbr/\u003e\u003c/span\u003e\u003cspan class=\"term\"\u003e\u003ccode class=\"literal\"\u003eplain\u003c/code\u003e\u003c/span\u003e \u003c/dt\u003e\u003cdd\u003e\u003cp\u003e\n            备份由普通文件组成，其布局与源服务器的数据目录和表空间相同。\n           \u003c/p\u003e\u003c/dd\u003e\u003cdt\u003e\u003cspan class=\"term\"\u003e\u003ccode class=\"literal\"\u003et\u003c/code\u003e\u003cbr/\u003e\u003c/span\u003e\u003cspan class=\"term\"\u003e\u003ccode class=\"literal\"\u003etar\u003c/code\u003e\u003c/span\u003e \u003c/dt\u003e\u003cdd\u003e\u003cp\u003e\n            备份由 tar 文件组成，这些文件可以经过压缩。有效的备份包括存放在 \u003ccode class=\"filename\"\u003ebase.tar\u003c/code\u003e 文件中的主数据目录、存放在 \u003ccode class=\"filename\"\u003epg_wal.tar\u003c/code\u003e 中的 WAL 文件，以及每个表空间对应的单独 tar 文件，这些文件以该表空间的 OID 命名。如果备份被压缩，则会在每个文件名末尾追加相应的压缩扩展名。\n           \u003c/p\u003e\u003c/dd\u003e\u003c/dl\u003e\u003c/div\u003e\u003c/dd\u003e\u003cdt\u003e\u003cspan class=\"term\"\u003e\u003ccode class=\"option\"\u003e-i \u003cem class=\"replaceable\"\u003e\u003ccode\u003epath\u003c/code\u003e\u003c/em\u003e\u003c/code\u003e\u003cbr/\u003e\u003c/span\u003e\u003cspan class=\"term\"\u003e\u003ccode class=\"option\"\u003e--ignore=\u003cem class=\"replaceable\"\u003e\u003ccode\u003epath\u003c/code\u003e\u003c/em\u003e\u003c/code\u003e\u003c/span\u003e \u003c/dt\u003e\u003cdd\u003e\u003cp\u003e\n        在将备份中实际存在的数据文件列表与\n        \u003ccode class=\"literal\"\u003ebackup_manifest\u003c/code\u003e 文件中列出的数据文件列表进行比较时，忽略指定的文件或目录；它们应以相对路径名表示。如果指定的是目录，则此选项会影响以该位置为根的整个子树。如果相对路径名与指定的路径名匹配，则关于额外文件、缺失文件、文件大小差异或校验和不匹配的报错将被抑制。此选项可指定多次。\n       \u003c/p\u003e\u003c/dd\u003e\u003cdt\u003e\u003cspan class=\"term\"\u003e\u003ccode class=\"option\"\u003e-m \u003cem class=\"replaceable\"\u003e\u003ccode\u003epath\u003c/code\u003e\u003c/em\u003e\u003c/code\u003e\u003cbr/\u003e\u003c/span\u003e\u003cspan class=\"term\"\u003e\u003ccode class=\"option\"\u003e--manifest-path=\u003cem class=\"replaceable\"\u003e\u003ccode\u003epath\u003c/code\u003e\u003c/em\u003e\u003c/code\u003e\u003c/span\u003e \u003c/dt\u003e\u003cdd\u003e\u003cp\u003e\n        使用指定路径上的备份清单文件，而不是位于备份目录根部的那份文件。\n       \u003c/p\u003e\u003c/dd\u003e\u003cdt\u003e\u003cspan class=\"term\"\u003e\u003ccode class=\"option\"\u003e-n\u003c/code\u003e\u003cbr/\u003e\u003c/span\u003e\u003cspan class=\"term\"\u003e\u003ccode class=\"option\"\u003e--no-parse-wal\u003c/code\u003e\u003c/span\u003e \u003c/dt\u003e\u003cdd\u003e\u003cp\u003e\n        不要尝试解析从此备份执行恢复所需的预写式日志数据。\n       \u003c/p\u003e\u003c/dd\u003e\u003cdt\u003e\u003cspan class=\"term\"\u003e\u003ccode class=\"option\"\u003e-P\u003c/code\u003e\u003cbr/\u003e\u003c/span\u003e\u003cspan class=\"term\"\u003e\u003ccode class=\"option\"\u003e--progress\u003c/code\u003e\u003c/span\u003e \u003c/dt\u003e\u003cdd\u003e\u003cp\u003e\n        启用进度报告。启用此选项后，在验证校验和时会输出进度报告。\n       \u003c/p\u003e\u003cp\u003e\n        此选项不能与 \u003ccode class=\"option\"\u003e--quiet\u003c/code\u003e 一起使用。\n       \u003c/p\u003e\u003c/dd\u003e\u003cdt\u003e\u003cspan class=\"term\"\u003e\u003ccode class=\"option\"\u003e-q\u003c/code\u003e\u003cbr/\u003e\u003c/span\u003e\u003cspan class=\"term\"\u003e\u003ccode class=\"option\"\u003e--quiet\u003c/code\u003e\u003c/span\u003e \u003c/dt\u003e\u003cdd\u003e\u003cp\u003e\n        当备份成功通过验证时不输出任何内容。\n       \u003c/p\u003e\u003c/dd\u003e\u003cdt\u003e\u003cspan class=\"term\"\u003e\u003ccode class=\"option\"\u003e-s\u003c/code\u003e\u003cbr/\u003e\u003c/span\u003e\u003cspan class=\"term\"\u003e\u003ccode class=\"option\"\u003e--skip-checksums\u003c/code\u003e\u003c/span\u003e \u003c/dt\u003e\u003cdd\u003e\u003cp\u003e\n        不验证数据文件的校验和。仍会检查文件是否存在以及这些文件的大小。这样会快得多，因为不需要读取文件本身。\n       \u003c/p\u003e\u003c/dd\u003e\u003cdt\u003e\u003cspan class=\"term\"\u003e\u003ccode class=\"option\"\u003e-w \u003cem class=\"replaceable\"\u003e\u003ccode\u003epath\u003c/code\u003e\u003c/em\u003e\u003c/code\u003e\u003cbr/\u003e\u003c/span\u003e\u003cspan class=\"term\"\u003e\u003ccode class=\"option\"\u003e--wal-directory=\u003cem class=\"replaceable\"\u003e\u003ccode\u003epath\u003c/code\u003e\u003c/em\u003e\u003c/code\u003e\u003c/span\u003e \u003c/dt\u003e\u003cdd\u003e\u003cp\u003e\n        尝试解析存储在指定目录中的 WAL 文件，而不是\n        \u003ccode class=\"literal\"\u003epg_wal\u003c/code\u003e 中的 WAL 文件。如果备份与 WAL 归档分开存放，这会很有用。\n       \u003c/p\u003e\u003c/dd\u003e\u003c/dl\u003e\u003c/div\u003e\u003cp\u003e\n\u003c/p\u003e\u003cp\u003e\n    其他选项也可用：\n\n   \u003c/p\u003e\u003cdiv class=\"variablelist\"\u003e\u003cdl class=\"variablelist\"\u003e\u003cdt\u003e\u003cspan class=\"term\"\u003e\u003ccode class=\"option\"\u003e-V\u003c/code\u003e\u003cbr/\u003e\u003c/span\u003e\u003cspan class=\"term\"\u003e\u003ccode class=\"option\"\u003e--version\u003c/code\u003e\u003c/span\u003e \u003c/dt\u003e\u003cdd\u003e\u003cp\u003e\n       打印 \u003cspan class=\"application\"\u003epg_verifybackup\u003c/span\u003e 版本并退出。\n       \u003c/p\u003e\u003c/dd\u003e\u003cdt\u003e\u003cspan class=\"term\"\u003e\u003ccode class=\"option\"\u003e-?\u003c/code\u003e\u003cbr/\u003e\u003c/span\u003e\u003cspan class=\"term\"\u003e\u003ccode class=\"option\"\u003e--help\u003c/code\u003e\u003c/span\u003e \u003c/dt\u003e\u003cdd\u003e\u003cp\u003e\n       显示有关 \u003cspan class=\"application\"\u003epg_verifybackup\u003c/span\u003e 命令行参数的帮助并退出。\n       \u003c/p\u003e\u003c/dd\u003e\u003c/dl\u003e\u003c/div\u003e\u003cp\u003e\n\u003c/p\u003e\u003c/div\u003e\u003cp\u003e\u003ca href=\"/zh/docs/18/app-pgverifybackup.html\"\u003e查看完整中文手册与上下文\u003c/a\u003e。\u003c/p\u003e","environment":[],"facts":[{"label":"Documented executable","value":"pg_verifybackup"},{"label":"Executable version","value":"18.6"},{"label":"Reference inventory","value":"Client applications"},{"label":"Option definition groups","value":"11"}],"facts_zh":[{"label":"手册中的可执行程序","value":"pg_verifybackup"},{"label":"程序版本","value":"18.6"},{"label":"参考清单","value":"客户端程序"},{"label":"选项定义组","value":"11"}],"manual_html":"\u003cdiv\u003e\u003cdiv class=\"refentry\" id=\"APP-PGVERIFYBACKUP\"\u003e\n\u003cdiv class=\"titlepage\"\u003e\u003c/div\u003e\n\u003cdiv class=\"refnamediv\"\u003e\n\u003ch2\u003e\u003cspan class=\"refentrytitle\"\u003e\u003cspan class=\"application\"\u003epg_verifybackup\u003c/span\u003e\u003c/span\u003e\u003c/h2\u003e\n\u003cp\u003epg_verifybackup — verify the integrity of a base backup of a \u003cspan class=\"productname\"\u003ePostgreSQL\u003c/span\u003e cluster\u003c/p\u003e\n\u003c/div\u003e\n\u003cdiv class=\"refsynopsisdiv\"\u003e\n\u003ch2\u003eSynopsis\u003c/h2\u003e\n\u003cdiv class=\"cmdsynopsis\"\u003e\n\u003cp id=\"id-1.9.4.20.4.1\"\u003e\u003ccode class=\"command\"\u003epg_verifybackup\u003c/code\u003e [\u003cem class=\"replaceable\"\u003e\u003ccode\u003eoption\u003c/code\u003e\u003c/em\u003e...]\u003c/p\u003e\n\u003c/div\u003e\n\u003c/div\u003e\n\u003cdiv class=\"refsect1\" id=\"id-1.9.4.20.5\"\u003e\n\u003ch2\u003eDescription\u003c/h2\u003e\n\u003cp\u003e\u003cspan class=\"application\"\u003epg_verifybackup\u003c/span\u003e is used to check the integrity of a database cluster backup taken using \u003ccode class=\"command\"\u003epg_basebackup\u003c/code\u003e against a \u003ccode class=\"literal\"\u003ebackup_manifest\u003c/code\u003e generated by the server at the time of the backup. The backup may be stored either in the \"plain\" or the \"tar\" format; this includes tar-format backups compressed with any algorithm supported by \u003cspan class=\"application\"\u003epg_basebackup\u003c/span\u003e. However, at present, \u003ccode class=\"literal\"\u003eWAL\u003c/code\u003e verification is supported only for plain-format backups. Therefore, if the backup is stored in tar-format, the \u003ccode class=\"literal\"\u003e-n, --no-parse-wal\u003c/code\u003e option should be used.\u003c/p\u003e\n\u003cp\u003eIt is important to note that the validation which is performed by \u003cspan class=\"application\"\u003epg_verifybackup\u003c/span\u003e does not and cannot include every check which will be performed by a running server when attempting to make use of the backup. Even if you use this tool, you should still perform test restores and verify that the resulting databases work as expected and that they appear to contain the correct data. However, \u003cspan class=\"application\"\u003epg_verifybackup\u003c/span\u003e can detect many problems that commonly occur due to storage problems or user error.\u003c/p\u003e\n\u003cp\u003eBackup verification proceeds in four stages. First, \u003ccode class=\"literal\"\u003epg_verifybackup\u003c/code\u003e reads the \u003ccode class=\"literal\"\u003ebackup_manifest\u003c/code\u003e file. If that file does not exist, cannot be read, is malformed, fails to match the system identifier with \u003ccode class=\"filename\"\u003epg_control\u003c/code\u003e of the backup directory or fails verification against its own internal checksum, \u003ccode class=\"literal\"\u003epg_verifybackup\u003c/code\u003e will terminate with a fatal error.\u003c/p\u003e\n\u003cp\u003eSecond, \u003ccode class=\"literal\"\u003epg_verifybackup\u003c/code\u003e will attempt to verify that the data files currently stored on disk are exactly the same as the data files which the server intended to send, with some exceptions that are described below. Extra and missing files will be detected, with a few exceptions. This step will ignore the presence or absence of, or any modifications to, \u003ccode class=\"literal\"\u003epostgresql.auto.conf\u003c/code\u003e, \u003ccode class=\"literal\"\u003estandby.signal\u003c/code\u003e, and \u003ccode class=\"literal\"\u003erecovery.signal\u003c/code\u003e, because it is expected that these files may have been created or modified as part of the process of taking the backup. It also won't complain about a \u003ccode class=\"literal\"\u003ebackup_manifest\u003c/code\u003e file in the target directory or about anything inside \u003ccode class=\"literal\"\u003epg_wal\u003c/code\u003e, even though these files won't be listed in the backup manifest. Only files are checked; the presence or absence of directories is not verified, except indirectly: if a directory is missing, any files it should have contained will necessarily also be missing.\u003c/p\u003e\n\u003cp\u003eNext, \u003ccode class=\"literal\"\u003epg_verifybackup\u003c/code\u003e will checksum all the files, compare the checksums against the values in the manifest, and emit errors for any files for which the computed checksum does not match the checksum stored in the manifest. This step is not performed for any files which produced errors in the previous step, since they are already known to have problems. Files which were ignored in the previous step are also ignored in this step.\u003c/p\u003e\n\u003cp\u003eFinally, \u003ccode class=\"literal\"\u003epg_verifybackup\u003c/code\u003e will use the manifest to verify that the write-ahead log records which will be needed to recover the backup are present and that they can be read and parsed. The \u003ccode class=\"literal\"\u003ebackup_manifest\u003c/code\u003e contains information about which write-ahead log records will be needed, and \u003ccode class=\"literal\"\u003epg_verifybackup\u003c/code\u003e will use that information to invoke \u003ccode class=\"literal\"\u003epg_waldump\u003c/code\u003e to parse those write-ahead log records. The \u003ccode class=\"literal\"\u003e--quiet\u003c/code\u003e flag will be used, so that \u003ccode class=\"literal\"\u003epg_waldump\u003c/code\u003e will only report errors, without producing any other output. While this level of verification is sufficient to detect obvious problems such as a missing file or one whose internal checksums do not match, they aren't extensive enough to detect every possible problem that might occur when attempting to recover. For instance, a server bug that produces write-ahead log records that have the correct checksums but specify nonsensical actions can't be detected by this method.\u003c/p\u003e\n\u003cp\u003eNote that if extra WAL files which are not required to recover the backup are present, they will not be checked by this tool, although a separate invocation of \u003ccode class=\"literal\"\u003epg_waldump\u003c/code\u003e could be used for that purpose. Also note that WAL verification is version-specific: you must use the version of \u003ccode class=\"literal\"\u003epg_verifybackup\u003c/code\u003e, and thus of \u003ccode class=\"literal\"\u003epg_waldump\u003c/code\u003e, which pertains to the backup being checked. In contrast, the data file integrity checks should work with any version of the server that generates a \u003ccode class=\"literal\"\u003ebackup_manifest\u003c/code\u003e file.\u003c/p\u003e\n\u003c/div\u003e\n\u003cdiv class=\"refsect1\" id=\"id-1.9.4.20.6\"\u003e\n\u003ch2\u003eOptions\u003c/h2\u003e\n\u003cp\u003e\u003cspan class=\"application\"\u003epg_verifybackup\u003c/span\u003e accepts the following command-line arguments:\u003c/p\u003e\n\u003cdiv class=\"variablelist\"\u003e\n\u003cdl class=\"variablelist\"\u003e\n\u003cdt\u003e\u003cspan class=\"term\"\u003e\u003ccode class=\"option\"\u003e-e\u003c/code\u003e\u003cbr\u003e\u003c/span\u003e\u003cspan class=\"term\"\u003e\u003ccode class=\"option\"\u003e--exit-on-error\u003c/code\u003e\u003c/span\u003e\u003c/dt\u003e\n\u003cdd\u003e\n\u003cp\u003eExit as soon as a problem with the backup is detected. If this option is not specified, \u003ccode class=\"literal\"\u003epg_verifybackup\u003c/code\u003e will continue checking the backup even after a problem has been detected, and will report all problems detected as errors.\u003c/p\u003e\n\u003c/dd\u003e\n\u003cdt\u003e\u003cspan class=\"term\"\u003e\u003ccode class=\"option\"\u003e-F \u003cem class=\"replaceable\"\u003e\u003ccode\u003eformat\u003c/code\u003e\u003c/em\u003e\u003c/code\u003e\u003cbr\u003e\u003c/span\u003e\u003cspan class=\"term\"\u003e\u003ccode class=\"option\"\u003e--format=\u003cem class=\"replaceable\"\u003e\u003ccode\u003eformat\u003c/code\u003e\u003c/em\u003e\u003c/code\u003e\u003c/span\u003e\u003c/dt\u003e\n\u003cdd\u003e\n\u003cp\u003eSpecifies the format of the backup. \u003cem class=\"replaceable\"\u003e\u003ccode\u003eformat\u003c/code\u003e\u003c/em\u003e can be one of the following:\u003c/p\u003e\n\u003cdiv class=\"variablelist\"\u003e\n\u003cdl class=\"variablelist\"\u003e\n\u003cdt\u003e\u003cspan class=\"term\"\u003e\u003ccode class=\"literal\"\u003ep\u003c/code\u003e\u003cbr\u003e\u003c/span\u003e\u003cspan class=\"term\"\u003e\u003ccode class=\"literal\"\u003eplain\u003c/code\u003e\u003c/span\u003e\u003c/dt\u003e\n\u003cdd\u003e\n\u003cp\u003eBackup consists of plain files with the same layout as the source server's data directory and tablespaces.\u003c/p\u003e\n\u003c/dd\u003e\n\u003cdt\u003e\u003cspan class=\"term\"\u003e\u003ccode class=\"literal\"\u003et\u003c/code\u003e\u003cbr\u003e\u003c/span\u003e\u003cspan class=\"term\"\u003e\u003ccode class=\"literal\"\u003etar\u003c/code\u003e\u003c/span\u003e\u003c/dt\u003e\n\u003cdd\u003e\n\u003cp\u003eBackup consists of tar files, which may be compressed. A valid backup includes the main data directory in a file named \u003ccode class=\"filename\"\u003ebase.tar\u003c/code\u003e, the WAL files in \u003ccode class=\"filename\"\u003epg_wal.tar\u003c/code\u003e, and separate tar files for each tablespace, named after the tablespace's OID. If the backup is compressed, the relevant compression extension is added to the end of each file name.\u003c/p\u003e\n\u003c/dd\u003e\n\u003c/dl\u003e\n\u003c/div\u003e\n\u003c/dd\u003e\n\u003cdt\u003e\u003cspan class=\"term\"\u003e\u003ccode class=\"option\"\u003e-i \u003cem class=\"replaceable\"\u003e\u003ccode\u003epath\u003c/code\u003e\u003c/em\u003e\u003c/code\u003e\u003cbr\u003e\u003c/span\u003e\u003cspan class=\"term\"\u003e\u003ccode class=\"option\"\u003e--ignore=\u003cem class=\"replaceable\"\u003e\u003ccode\u003epath\u003c/code\u003e\u003c/em\u003e\u003c/code\u003e\u003c/span\u003e\u003c/dt\u003e\n\u003cdd\u003e\n\u003cp\u003eIgnore the specified file or directory, which should be expressed as a relative path name, when comparing the list of data files actually present in the backup to those listed in the \u003ccode class=\"literal\"\u003ebackup_manifest\u003c/code\u003e file. If a directory is specified, this option affects the entire subtree rooted at that location. Complaints about extra files, missing files, file size differences, or checksum mismatches will be suppressed if the relative path name matches the specified path name. This option can be specified multiple times.\u003c/p\u003e\n\u003c/dd\u003e\n\u003cdt\u003e\u003cspan class=\"term\"\u003e\u003ccode class=\"option\"\u003e-m \u003cem class=\"replaceable\"\u003e\u003ccode\u003epath\u003c/code\u003e\u003c/em\u003e\u003c/code\u003e\u003cbr\u003e\u003c/span\u003e\u003cspan class=\"term\"\u003e\u003ccode class=\"option\"\u003e--manifest-path=\u003cem class=\"replaceable\"\u003e\u003ccode\u003epath\u003c/code\u003e\u003c/em\u003e\u003c/code\u003e\u003c/span\u003e\u003c/dt\u003e\n\u003cdd\u003e\n\u003cp\u003eUse the manifest file at the specified path, rather than one located in the root of the backup directory.\u003c/p\u003e\n\u003c/dd\u003e\n\u003cdt\u003e\u003cspan class=\"term\"\u003e\u003ccode class=\"option\"\u003e-n\u003c/code\u003e\u003cbr\u003e\u003c/span\u003e\u003cspan class=\"term\"\u003e\u003ccode class=\"option\"\u003e--no-parse-wal\u003c/code\u003e\u003c/span\u003e\u003c/dt\u003e\n\u003cdd\u003e\n\u003cp\u003eDon't attempt to parse write-ahead log data that will be needed to recover from this backup.\u003c/p\u003e\n\u003c/dd\u003e\n\u003cdt\u003e\u003cspan class=\"term\"\u003e\u003ccode class=\"option\"\u003e-P\u003c/code\u003e\u003cbr\u003e\u003c/span\u003e\u003cspan class=\"term\"\u003e\u003ccode class=\"option\"\u003e--progress\u003c/code\u003e\u003c/span\u003e\u003c/dt\u003e\n\u003cdd\u003e\n\u003cp\u003eEnable progress reporting. Turning this on will deliver a progress report while verifying checksums.\u003c/p\u003e\n\u003cp\u003eThis option cannot be used together with the option \u003ccode class=\"option\"\u003e--quiet\u003c/code\u003e.\u003c/p\u003e\n\u003c/dd\u003e\n\u003cdt\u003e\u003cspan class=\"term\"\u003e\u003ccode class=\"option\"\u003e-q\u003c/code\u003e\u003cbr\u003e\u003c/span\u003e\u003cspan class=\"term\"\u003e\u003ccode class=\"option\"\u003e--quiet\u003c/code\u003e\u003c/span\u003e\u003c/dt\u003e\n\u003cdd\u003e\n\u003cp\u003eDon't print anything when a backup is successfully verified.\u003c/p\u003e\n\u003c/dd\u003e\n\u003cdt\u003e\u003cspan class=\"term\"\u003e\u003ccode class=\"option\"\u003e-s\u003c/code\u003e\u003cbr\u003e\u003c/span\u003e\u003cspan class=\"term\"\u003e\u003ccode class=\"option\"\u003e--skip-checksums\u003c/code\u003e\u003c/span\u003e\u003c/dt\u003e\n\u003cdd\u003e\n\u003cp\u003eDo not verify data file checksums. The presence or absence of files and the sizes of those files will still be checked. This is much faster, because the files themselves do not need to be read.\u003c/p\u003e\n\u003c/dd\u003e\n\u003cdt\u003e\u003cspan class=\"term\"\u003e\u003ccode class=\"option\"\u003e-w \u003cem class=\"replaceable\"\u003e\u003ccode\u003epath\u003c/code\u003e\u003c/em\u003e\u003c/code\u003e\u003cbr\u003e\u003c/span\u003e\u003cspan class=\"term\"\u003e\u003ccode class=\"option\"\u003e--wal-directory=\u003cem class=\"replaceable\"\u003e\u003ccode\u003epath\u003c/code\u003e\u003c/em\u003e\u003c/code\u003e\u003c/span\u003e\u003c/dt\u003e\n\u003cdd\u003e\n\u003cp\u003eTry to parse WAL files stored in the specified directory, rather than in \u003ccode class=\"literal\"\u003epg_wal\u003c/code\u003e. This may be useful if the backup is stored in a separate location from the WAL archive.\u003c/p\u003e\n\u003c/dd\u003e\n\u003c/dl\u003e\n\u003c/div\u003e\n\u003cp\u003eOther options are also available:\u003c/p\u003e\n\u003cdiv class=\"variablelist\"\u003e\n\u003cdl class=\"variablelist\"\u003e\n\u003cdt\u003e\u003cspan class=\"term\"\u003e\u003ccode class=\"option\"\u003e-V\u003c/code\u003e\u003cbr\u003e\u003c/span\u003e\u003cspan class=\"term\"\u003e\u003ccode class=\"option\"\u003e--version\u003c/code\u003e\u003c/span\u003e\u003c/dt\u003e\n\u003cdd\u003e\n\u003cp\u003ePrint the \u003cspan class=\"application\"\u003epg_verifybackup\u003c/span\u003e version and exit.\u003c/p\u003e\n\u003c/dd\u003e\n\u003cdt\u003e\u003cspan class=\"term\"\u003e\u003ccode class=\"option\"\u003e-?\u003c/code\u003e\u003cbr\u003e\u003c/span\u003e\u003cspan class=\"term\"\u003e\u003ccode class=\"option\"\u003e--help\u003c/code\u003e\u003c/span\u003e\u003c/dt\u003e\n\u003cdd\u003e\n\u003cp\u003eShow help about \u003cspan class=\"application\"\u003epg_verifybackup\u003c/span\u003e command line arguments, and exit.\u003c/p\u003e\n\u003c/dd\u003e\n\u003c/dl\u003e\n\u003c/div\u003e\n\u003c/div\u003e\n\u003cdiv class=\"refsect1\" id=\"id-1.9.4.20.7\"\u003e\n\u003ch2\u003eExamples\u003c/h2\u003e\n\u003cp\u003eTo create a base backup of the server at \u003ccode class=\"literal\"\u003emydbserver\u003c/code\u003e and verify the integrity of the backup:\u003c/p\u003e\n\u003cpre class=\"screen\"\u003e\u003ccode class=\"prompt\"\u003e$\u003c/code\u003e \u003cstrong class=\"userinput\"\u003e\u003ccode\u003epg_basebackup -h mydbserver -D /usr/local/pgsql/data\u003c/code\u003e\u003c/strong\u003e\n\u003ccode class=\"prompt\"\u003e$\u003c/code\u003e \u003cstrong class=\"userinput\"\u003e\u003ccode\u003epg_verifybackup /usr/local/pgsql/data\u003c/code\u003e\u003c/strong\u003e\n\u003c/pre\u003e\n\u003cp\u003eTo create a base backup of the server at \u003ccode class=\"literal\"\u003emydbserver\u003c/code\u003e, move the manifest somewhere outside the backup directory, and verify the backup:\u003c/p\u003e\n\u003cpre class=\"screen\"\u003e\u003ccode class=\"prompt\"\u003e$\u003c/code\u003e \u003cstrong class=\"userinput\"\u003e\u003ccode\u003epg_basebackup -h mydbserver -D /usr/local/pgsql/backup1234\u003c/code\u003e\u003c/strong\u003e\n\u003ccode class=\"prompt\"\u003e$\u003c/code\u003e \u003cstrong class=\"userinput\"\u003e\u003ccode\u003emv /usr/local/pgsql/backup1234/backup_manifest /my/secure/location/backup_manifest.1234\u003c/code\u003e\u003c/strong\u003e\n\u003ccode class=\"prompt\"\u003e$\u003c/code\u003e \u003cstrong class=\"userinput\"\u003e\u003ccode\u003epg_verifybackup -m /my/secure/location/backup_manifest.1234 /usr/local/pgsql/backup1234\u003c/code\u003e\u003c/strong\u003e\n\u003c/pre\u003e\n\u003cp\u003eTo verify a backup while ignoring a file that was added manually to the backup directory, and also skipping checksum verification:\u003c/p\u003e\n\u003cpre class=\"screen\"\u003e\u003ccode class=\"prompt\"\u003e$\u003c/code\u003e \u003cstrong class=\"userinput\"\u003e\u003ccode\u003epg_basebackup -h mydbserver -D /usr/local/pgsql/data\u003c/code\u003e\u003c/strong\u003e\n\u003ccode class=\"prompt\"\u003e$\u003c/code\u003e \u003cstrong class=\"userinput\"\u003e\u003ccode\u003eedit /usr/local/pgsql/data/note.to.self\u003c/code\u003e\u003c/strong\u003e\n\u003ccode class=\"prompt\"\u003e$\u003c/code\u003e \u003cstrong class=\"userinput\"\u003e\u003ccode\u003epg_verifybackup --ignore=note.to.self --skip-checksums /usr/local/pgsql/data\u003c/code\u003e\u003c/strong\u003e\n\u003c/pre\u003e\n\u003c/div\u003e\n\u003cdiv class=\"refsect1\" id=\"id-1.9.4.20.8\"\u003e\n\u003ch2\u003eSee Also\u003c/h2\u003e\u003cspan class=\"simplelist\"\u003e\u003ca class=\"xref\" href=\"/docs/18/app-pgbasebackup.html\" title=\"pg_basebackup\"\u003e\u003cspan class=\"refentrytitle\"\u003e\u003cspan class=\"application\"\u003epg_basebackup\u003c/span\u003e\u003c/span\u003e\u003c/a\u003e\u003c/span\u003e\n\u003c/div\u003e\n\u003c/div\u003e\u003c/div\u003e","manual_path":"app-pgverifybackup.html","options":[{"description":"Exit as soon as a problem with the backup is detected. If this option is not specified, pg_verifybackup will continue checking the backup even after a problem has been detected, and will report all problems detected as errors.","names":["-e","--exit-on-error"],"signature":"-e --exit-on-error","source_url":"/docs/18/app-pgverifybackup.html","summary":"Exit as soon as a problem with the backup is detected. If this option is not specified, pg_verifybackup will continue checking the backup even after a problem has been detected, and will report all problems detected as errors."},{"description":"Specifies the format of the backup. format can be one of the following: p plain Backup consists of plain files with the same layout as the source server's data directory and tablespaces. t tar Backup consists of tar files, which may be compressed. A valid backup includes the main data directory in a file named base.tar , the WAL files in pg_wal.tar , and separate tar files for each tablespace, named after the tablespace's OID. If the backup is compressed, the relevant compression extension is added to the end of each file name.","names":["-F format","--format= format"],"signature":"-F format --format= format","source_url":"/docs/18/app-pgverifybackup.html","summary":"Specifies the format of the backup. format can be one of the following:"},{"description":"Ignore the specified file or directory, which should be expressed as a relative path name, when comparing the list of data files actually present in the backup to those listed in the backup_manifest file. If a directory is specified, this option affects the entire subtree rooted at that location. Complaints about extra files, missing files, file size differences, or checksum mismatches will be suppressed if the relative path name matches the specified path name. This option can be specified multiple times.","names":["-i path","--ignore= path"],"signature":"-i path --ignore= path","source_url":"/docs/18/app-pgverifybackup.html","summary":"Ignore the specified file or directory, which should be expressed as a relative path name, when comparing the list of data files actually present in the backup to those listed in the backup_manifest file. If a directory is specified, this option affects the entire subtree rooted at that location. Complaints about extra files, missing files, file size differences, or checksum mismatches will be suppressed if the relative path name matches the specified path name. This option can be specified multiple times."},{"description":"Use the manifest file at the specified path, rather than one located in the root of the backup directory.","names":["-m path","--manifest-path= path"],"signature":"-m path --manifest-path= path","source_url":"/docs/18/app-pgverifybackup.html","summary":"Use the manifest file at the specified path, rather than one located in the root of the backup directory."},{"description":"Don't attempt to parse write-ahead log data that will be needed to recover from this backup.","names":["-n","--no-parse-wal"],"signature":"-n --no-parse-wal","source_url":"/docs/18/app-pgverifybackup.html","summary":"Don't attempt to parse write-ahead log data that will be needed to recover from this backup."},{"description":"Enable progress reporting. Turning this on will deliver a progress report while verifying checksums. This option cannot be used together with the option --quiet .","names":["-P","--progress"],"signature":"-P --progress","source_url":"/docs/18/app-pgverifybackup.html","summary":"Enable progress reporting. Turning this on will deliver a progress report while verifying checksums."},{"description":"Don't print anything when a backup is successfully verified.","names":["-q","--quiet"],"signature":"-q --quiet","source_url":"/docs/18/app-pgverifybackup.html","summary":"Don't print anything when a backup is successfully verified."},{"description":"Do not verify data file checksums. The presence or absence of files and the sizes of those files will still be checked. This is much faster, because the files themselves do not need to be read.","names":["-s","--skip-checksums"],"signature":"-s --skip-checksums","source_url":"/docs/18/app-pgverifybackup.html","summary":"Do not verify data file checksums. The presence or absence of files and the sizes of those files will still be checked. This is much faster, because the files themselves do not need to be read."},{"description":"Try to parse WAL files stored in the specified directory, rather than in pg_wal . This may be useful if the backup is stored in a separate location from the WAL archive.","names":["-w path","--wal-directory= path"],"signature":"-w path --wal-directory= path","source_url":"/docs/18/app-pgverifybackup.html","summary":"Try to parse WAL files stored in the specified directory, rather than in pg_wal . This may be useful if the backup is stored in a separate location from the WAL archive."},{"description":"Print the pg_verifybackup version and exit.","names":["-V","--version"],"signature":"-V --version","source_url":"/docs/18/app-pgverifybackup.html","summary":"Print the pg_verifybackup version and exit."},{"description":"Show help about pg_verifybackup command line arguments, and exit.","names":["-?","--help"],"signature":"-? --help","source_url":"/docs/18/app-pgverifybackup.html","summary":"Show help about pg_verifybackup command line arguments, and exit."}],"related":[],"release":{"channel":"stable","evidence_kind":"English manual and source declarations","label":"18.6","major":"18","manifest":{"index":"index.html","major":"18","pages":1148,"pdf":{"A4":{"built_at":"2026-09-26","bytes":15865106,"pages":3154,"sha256":"19512c405da53f9f7fcf0abba359223aa65f021be025bf3411381918f92e3190","url":"/files/documentation/pdf/18/postgresql-18-A4.pdf"},"US":{"built_at":"2026-09-26","bytes":15748059,"pages":3328,"sha256":"facbe6c229e598b872d3d98bef53308f46e06746006fa4590de9a7de9dd46319","url":"/files/documentation/pdf/18/postgresql-18-US.pdf"}},"release":"18.6","source_mode":"en SGML built with pinned official archive","source_sha256":"555610c24d53e4316da5b7d3fc25c279d96856d5e0e23ee308c328c5fa881d9f","source_url":"https://ftp.postgresql.org/pub/source/v18.6/postgresql-18.6.tar.bz2","svg_assets":3,"tree":"18"},"ref":"https://ftp.postgresql.org/pub/source/v18.6/postgresql-18.6.tar.bz2","revision":"ee8d1a3612338fd9adf250730cb640fcc5233b5491337cc00a316a44e3a0b9f8","source_sha256":"555610c24d53e4316da5b7d3fc25c279d96856d5e0e23ee308c328c5fa881d9f"},"sections":[],"sections_zh":[],"signature":"pg_verifybackup [ option ...]","sources":[{"anchor":"","file":"app-pgverifybackup.html","label":"18.6 English manual · app-pgverifybackup.html","sha256":"70a0a36060ff1d19bfcd8f8b8abee2060423f7e768f5554fd53b7a84851c0a58","url":"/docs/18/app-pgverifybackup.html"},{"anchor":"","file":"reference-client.html","label":"Client applications inventory","sha256":"68f726af77272fe73a827be2b7b5958d0f2239a6f8ed44264e9d42496bfa4fd0","url":"/docs/18/reference-client.html"}],"synopsis":["pg_verifybackup [ option ...]"],"tables":[{"columns":[{"key":"signature","label":"Option and arguments"},{"key":"summary","label":"Description"}],"key":"options","rows":[{"signature":{"text":"-e --exit-on-error","url":"/docs/18/app-pgverifybackup.html"},"summary":"Exit as soon as a problem with the backup is detected. If this option is not specified, pg_verifybackup will continue checking the backup even after a problem has been detected, and will report all problems detected as errors."},{"signature":{"text":"-F format --format= format","url":"/docs/18/app-pgverifybackup.html"},"summary":"Specifies the format of the backup. format can be one of the following:"},{"signature":{"text":"-i path --ignore= path","url":"/docs/18/app-pgverifybackup.html"},"summary":"Ignore the specified file or directory, which should be expressed as a relative path name, when comparing the list of data files actually present in the backup to those listed in the backup_manifest file. If a directory is specified, this option affects the entire subtree rooted at that location. Complaints about extra files, missing files, file size differences, or checksum mismatches will be suppressed if the relative path name matches the specified path name. This option can be specified multiple times."},{"signature":{"text":"-m path --manifest-path= path","url":"/docs/18/app-pgverifybackup.html"},"summary":"Use the manifest file at the specified path, rather than one located in the root of the backup directory."},{"signature":{"text":"-n --no-parse-wal","url":"/docs/18/app-pgverifybackup.html"},"summary":"Don't attempt to parse write-ahead log data that will be needed to recover from this backup."},{"signature":{"text":"-P --progress","url":"/docs/18/app-pgverifybackup.html"},"summary":"Enable progress reporting. Turning this on will deliver a progress report while verifying checksums."},{"signature":{"text":"-q --quiet","url":"/docs/18/app-pgverifybackup.html"},"summary":"Don't print anything when a backup is successfully verified."},{"signature":{"text":"-s --skip-checksums","url":"/docs/18/app-pgverifybackup.html"},"summary":"Do not verify data file checksums. The presence or absence of files and the sizes of those files will still be checked. This is much faster, because the files themselves do not need to be read."},{"signature":{"text":"-w path --wal-directory= path","url":"/docs/18/app-pgverifybackup.html"},"summary":"Try to parse WAL files stored in the specified directory, rather than in pg_wal . This may be useful if the backup is stored in a separate location from the WAL archive."},{"signature":{"text":"-V --version","url":"/docs/18/app-pgverifybackup.html"},"summary":"Print the pg_verifybackup version and exit."},{"signature":{"text":"-? --help","url":"/docs/18/app-pgverifybackup.html"},"summary":"Show help about pg_verifybackup command line arguments, and exit."}],"title":"Documented options"}],"tables_zh":[{"columns":[{"key":"signature","label":"选项与参数"},{"key":"summary","label":"说明"}],"key":"options","rows":[{"signature":{"text":"-e --exit-on-error","url":"/docs/18/app-pgverifybackup.html"},"summary":"一旦检测到备份存在问题就立即退出。如果未指定此选项， pg_verifybackup 即使在发现问题之后也会继续检查备份，并将检测到的所有问题报告为错误。"},{"signature":{"text":"-F format --format= format","url":"/docs/18/app-pgverifybackup.html"},"summary":"指定备份格式。 format 可以是下列值之一："},{"signature":{"text":"-i path --ignore= path","url":"/docs/18/app-pgverifybackup.html"},"summary":"在将备份中实际存在的数据文件列表与 backup_manifest 文件中列出的数据文件列表进行比较时，忽略指定的文件或目录；它们应以相对路径名表示。如果指定的是目录，则此选项会影响以该位置为根的整个子树。如果相对路径名与指定的路径名匹配，则关于额外文件、缺失文件、文件大小差异或校验和不匹配的报错将被抑制。此选项可指定多次。"},{"signature":{"text":"-m path --manifest-path= path","url":"/docs/18/app-pgverifybackup.html"},"summary":"使用指定路径上的备份清单文件，而不是位于备份目录根部的那份文件。"},{"signature":{"text":"-n --no-parse-wal","url":"/docs/18/app-pgverifybackup.html"},"summary":"不要尝试解析从此备份执行恢复所需的预写式日志数据。"},{"signature":{"text":"-P --progress","url":"/docs/18/app-pgverifybackup.html"},"summary":"启用进度报告。启用此选项后，在验证校验和时会输出进度报告。"},{"signature":{"text":"-q --quiet","url":"/docs/18/app-pgverifybackup.html"},"summary":"当备份成功通过验证时不输出任何内容。"},{"signature":{"text":"-s --skip-checksums","url":"/docs/18/app-pgverifybackup.html"},"summary":"不验证数据文件的校验和。仍会检查文件是否存在以及这些文件的大小。这样会快得多，因为不需要读取文件本身。"},{"signature":{"text":"-w path --wal-directory= path","url":"/docs/18/app-pgverifybackup.html"},"summary":"尝试解析存储在指定目录中的 WAL 文件，而不是 pg_wal 中的 WAL 文件。如果备份与 WAL 归档分开存放，这会很有用。"},{"signature":{"text":"-V --version","url":"/docs/18/app-pgverifybackup.html"},"summary":"打印 pg_verifybackup 版本并退出。"},{"signature":{"text":"-? --help","url":"/docs/18/app-pgverifybackup.html"},"summary":"显示有关 pg_verifybackup 命令行参数的帮助并退出。"}],"title":"手册中的选项"}],"zh_from":{"authored_translation":"source-derived-identity","body_sha256":"0f007380add15577b355593e0a2515f693251d8962df4de50e5466e7bcbbc4f3","kind":"same-version-chinese-manual-with-source-derived-identity","manual":{"anchor":"","build_id":107,"extraction":"command-description-and-options","fragment_sha256":"a83923f306f898283fc8ab1c9b5379f3cb78315dfff978acf6bc27b04a6940ae","locale":"zh-Hans","page_key":"app-pgverifybackup.html","source_hash":"b1a50c93cf015bbbd6327a27352fe3f4961c0bff4fc7ccbb1a9531bb795dfeab","source_revision":"unknown:rendered-translation-baseline","translated_from_revision":null,"translation_revision":"git:b1b500221dbe5437cfca004d6b04d3f6e422765d;html-sha256:08e987a66af27b98444a8057c256314eafa13611a3fb9e888214fc436824244b","url":"/zh/docs/18/app-pgverifybackup.html","version":"18"},"runtime_rerun":false,"source_facts_revision":"ee8d1a3612338fd9adf250730cb640fcc5233b5491337cc00a316a44e3a0b9f8"}},"ManualEvidence":{"manual_path":"app-pgverifybackup.html","release":{"channel":"stable","evidence_kind":"English manual and source declarations","label":"18.6","major":"18","manifest":{"index":"index.html","major":"18","pages":1148,"pdf":{"A4":{"built_at":"2026-09-26","bytes":15865106,"pages":3154,"sha256":"19512c405da53f9f7fcf0abba359223aa65f021be025bf3411381918f92e3190","url":"/files/documentation/pdf/18/postgresql-18-A4.pdf"},"US":{"built_at":"2026-09-26","bytes":15748059,"pages":3328,"sha256":"facbe6c229e598b872d3d98bef53308f46e06746006fa4590de9a7de9dd46319","url":"/files/documentation/pdf/18/postgresql-18-US.pdf"}},"release":"18.6","source_mode":"en SGML built with pinned official archive","source_sha256":"555610c24d53e4316da5b7d3fc25c279d96856d5e0e23ee308c328c5fa881d9f","source_url":"https://ftp.postgresql.org/pub/source/v18.6/postgresql-18.6.tar.bz2","svg_assets":3,"tree":"18"},"ref":"https://ftp.postgresql.org/pub/source/v18.6/postgresql-18.6.tar.bz2","revision":"ee8d1a3612338fd9adf250730cb640fcc5233b5491337cc00a316a44e3a0b9f8","source_sha256":"555610c24d53e4316da5b7d3fc25c279d96856d5e0e23ee308c328c5fa881d9f"},"sources":[{"anchor":"","file":"app-pgverifybackup.html","label":"18.6 English manual · app-pgverifybackup.html","sha256":"70a0a36060ff1d19bfcd8f8b8abee2060423f7e768f5554fd53b7a84851c0a58","url":"/docs/18/app-pgverifybackup.html"},{"anchor":"","file":"reference-client.html","label":"Client applications inventory","sha256":"68f726af77272fe73a827be2b7b5958d0f2239a6f8ed44264e9d42496bfa4fd0","url":"/docs/18/reference-client.html"}]},"MeasuredEvidence":{}},"Text":{"Collection":"tool","Key":"pg-verifybackup","SourceDatabase":"center","Version":"18","Locale":"en","Title":"pg_verifybackup","Summary":"pg_verifybackup — verify the integrity of a base backup of a PostgreSQL cluster","BodyHTML":"\u003cdiv\u003e\u003cdiv id=\"APP-PGVERIFYBACKUP\"\u003e\n\u003cdiv\u003e\u003c/div\u003e\n\u003cdiv\u003e\n\u003ch2\u003e\u003cspan\u003e\u003cspan\u003epg_verifybackup\u003c/span\u003e\u003c/span\u003e\u003c/h2\u003e\n\u003cp\u003epg_verifybackup — verify the integrity of a base backup of a \u003cspan\u003ePostgreSQL\u003c/span\u003e cluster\u003c/p\u003e\n\u003c/div\u003e\n\u003cdiv\u003e\n\u003ch2\u003eSynopsis\u003c/h2\u003e\n\u003cdiv\u003e\n\u003cp id=\"id-1.9.4.20.4.1\"\u003e\u003ccode\u003epg_verifybackup\u003c/code\u003e [\u003cem\u003e\u003ccode\u003eoption\u003c/code\u003e\u003c/em\u003e...]\u003c/p\u003e\n\u003c/div\u003e\n\u003c/div\u003e\n\u003cdiv id=\"id-1.9.4.20.5\"\u003e\n\u003ch2\u003eDescription\u003c/h2\u003e\n\u003cp\u003e\u003cspan\u003epg_verifybackup\u003c/span\u003e is used to check the integrity of a database cluster backup taken using \u003ccode\u003epg_basebackup\u003c/code\u003e against a \u003ccode\u003ebackup_manifest\u003c/code\u003e generated by the server at the time of the backup. The backup may be stored either in the \u0026#34;plain\u0026#34; or the \u0026#34;tar\u0026#34; format; this includes tar-format backups compressed with any algorithm supported by \u003cspan\u003epg_basebackup\u003c/span\u003e. However, at present, \u003ccode\u003eWAL\u003c/code\u003e verification is supported only for plain-format backups. Therefore, if the backup is stored in tar-format, the \u003ccode\u003e-n, --no-parse-wal\u003c/code\u003e option should be used.\u003c/p\u003e\n\u003cp\u003eIt is important to note that the validation which is performed by \u003cspan\u003epg_verifybackup\u003c/span\u003e does not and cannot include every check which will be performed by a running server when attempting to make use of the backup. Even if you use this tool, you should still perform test restores and verify that the resulting databases work as expected and that they appear to contain the correct data. However, \u003cspan\u003epg_verifybackup\u003c/span\u003e can detect many problems that commonly occur due to storage problems or user error.\u003c/p\u003e\n\u003cp\u003eBackup verification proceeds in four stages. First, \u003ccode\u003epg_verifybackup\u003c/code\u003e reads the \u003ccode\u003ebackup_manifest\u003c/code\u003e file. If that file does not exist, cannot be read, is malformed, fails to match the system identifier with \u003ccode\u003epg_control\u003c/code\u003e of the backup directory or fails verification against its own internal checksum, \u003ccode\u003epg_verifybackup\u003c/code\u003e will terminate with a fatal error.\u003c/p\u003e\n\u003cp\u003eSecond, \u003ccode\u003epg_verifybackup\u003c/code\u003e will attempt to verify that the data files currently stored on disk are exactly the same as the data files which the server intended to send, with some exceptions that are described below. Extra and missing files will be detected, with a few exceptions. This step will ignore the presence or absence of, or any modifications to, \u003ccode\u003epostgresql.auto.conf\u003c/code\u003e, \u003ccode\u003estandby.signal\u003c/code\u003e, and \u003ccode\u003erecovery.signal\u003c/code\u003e, because it is expected that these files may have been created or modified as part of the process of taking the backup. It also won\u0026#39;t complain about a \u003ccode\u003ebackup_manifest\u003c/code\u003e file in the target directory or about anything inside \u003ccode\u003epg_wal\u003c/code\u003e, even though these files won\u0026#39;t be listed in the backup manifest. Only files are checked; the presence or absence of directories is not verified, except indirectly: if a directory is missing, any files it should have contained will necessarily also be missing.\u003c/p\u003e\n\u003cp\u003eNext, \u003ccode\u003epg_verifybackup\u003c/code\u003e will checksum all the files, compare the checksums against the values in the manifest, and emit errors for any files for which the computed checksum does not match the checksum stored in the manifest. This step is not performed for any files which produced errors in the previous step, since they are already known to have problems. Files which were ignored in the previous step are also ignored in this step.\u003c/p\u003e\n\u003cp\u003eFinally, \u003ccode\u003epg_verifybackup\u003c/code\u003e will use the manifest to verify that the write-ahead log records which will be needed to recover the backup are present and that they can be read and parsed. The \u003ccode\u003ebackup_manifest\u003c/code\u003e contains information about which write-ahead log records will be needed, and \u003ccode\u003epg_verifybackup\u003c/code\u003e will use that information to invoke \u003ccode\u003epg_waldump\u003c/code\u003e to parse those write-ahead log records. The \u003ccode\u003e--quiet\u003c/code\u003e flag will be used, so that \u003ccode\u003epg_waldump\u003c/code\u003e will only report errors, without producing any other output. While this level of verification is sufficient to detect obvious problems such as a missing file or one whose internal checksums do not match, they aren\u0026#39;t extensive enough to detect every possible problem that might occur when attempting to recover. For instance, a server bug that produces write-ahead log records that have the correct checksums but specify nonsensical actions can\u0026#39;t be detected by this method.\u003c/p\u003e\n\u003cp\u003eNote that if extra WAL files which are not required to recover the backup are present, they will not be checked by this tool, although a separate invocation of \u003ccode\u003epg_waldump\u003c/code\u003e could be used for that purpose. Also note that WAL verification is version-specific: you must use the version of \u003ccode\u003epg_verifybackup\u003c/code\u003e, and thus of \u003ccode\u003epg_waldump\u003c/code\u003e, which pertains to the backup being checked. In contrast, the data file integrity checks should work with any version of the server that generates a \u003ccode\u003ebackup_manifest\u003c/code\u003e file.\u003c/p\u003e\n\u003c/div\u003e\n\u003cdiv id=\"id-1.9.4.20.6\"\u003e\n\u003ch2\u003eOptions\u003c/h2\u003e\n\u003cp\u003e\u003cspan\u003epg_verifybackup\u003c/span\u003e accepts the following command-line arguments:\u003c/p\u003e\n\u003cdiv\u003e\n\u003cdl\u003e\n\u003cdt\u003e\u003cspan\u003e\u003ccode\u003e-e\u003c/code\u003e\u003cbr\u003e\u003c/span\u003e\u003cspan\u003e\u003ccode\u003e--exit-on-error\u003c/code\u003e\u003c/span\u003e\u003c/dt\u003e\n\u003cdd\u003e\n\u003cp\u003eExit as soon as a problem with the backup is detected. If this option is not specified, \u003ccode\u003epg_verifybackup\u003c/code\u003e will continue checking the backup even after a problem has been detected, and will report all problems detected as errors.\u003c/p\u003e\n\u003c/dd\u003e\n\u003cdt\u003e\u003cspan\u003e\u003ccode\u003e-F \u003cem\u003e\u003ccode\u003eformat\u003c/code\u003e\u003c/em\u003e\u003c/code\u003e\u003cbr\u003e\u003c/span\u003e\u003cspan\u003e\u003ccode\u003e--format=\u003cem\u003e\u003ccode\u003eformat\u003c/code\u003e\u003c/em\u003e\u003c/code\u003e\u003c/span\u003e\u003c/dt\u003e\n\u003cdd\u003e\n\u003cp\u003eSpecifies the format of the backup. \u003cem\u003e\u003ccode\u003eformat\u003c/code\u003e\u003c/em\u003e can be one of the following:\u003c/p\u003e\n\u003cdiv\u003e\n\u003cdl\u003e\n\u003cdt\u003e\u003cspan\u003e\u003ccode\u003ep\u003c/code\u003e\u003cbr\u003e\u003c/span\u003e\u003cspan\u003e\u003ccode\u003eplain\u003c/code\u003e\u003c/span\u003e\u003c/dt\u003e\n\u003cdd\u003e\n\u003cp\u003eBackup consists of plain files with the same layout as the source server\u0026#39;s data directory and tablespaces.\u003c/p\u003e\n\u003c/dd\u003e\n\u003cdt\u003e\u003cspan\u003e\u003ccode\u003et\u003c/code\u003e\u003cbr\u003e\u003c/span\u003e\u003cspan\u003e\u003ccode\u003etar\u003c/code\u003e\u003c/span\u003e\u003c/dt\u003e\n\u003cdd\u003e\n\u003cp\u003eBackup consists of tar files, which may be compressed. A valid backup includes the main data directory in a file named \u003ccode\u003ebase.tar\u003c/code\u003e, the WAL files in \u003ccode\u003epg_wal.tar\u003c/code\u003e, and separate tar files for each tablespace, named after the tablespace\u0026#39;s OID. If the backup is compressed, the relevant compression extension is added to the end of each file name.\u003c/p\u003e\n\u003c/dd\u003e\n\u003c/dl\u003e\n\u003c/div\u003e\n\u003c/dd\u003e\n\u003cdt\u003e\u003cspan\u003e\u003ccode\u003e-i \u003cem\u003e\u003ccode\u003epath\u003c/code\u003e\u003c/em\u003e\u003c/code\u003e\u003cbr\u003e\u003c/span\u003e\u003cspan\u003e\u003ccode\u003e--ignore=\u003cem\u003e\u003ccode\u003epath\u003c/code\u003e\u003c/em\u003e\u003c/code\u003e\u003c/span\u003e\u003c/dt\u003e\n\u003cdd\u003e\n\u003cp\u003eIgnore the specified file or directory, which should be expressed as a relative path name, when comparing the list of data files actually present in the backup to those listed in the \u003ccode\u003ebackup_manifest\u003c/code\u003e file. If a directory is specified, this option affects the entire subtree rooted at that location. Complaints about extra files, missing files, file size differences, or checksum mismatches will be suppressed if the relative path name matches the specified path name. This option can be specified multiple times.\u003c/p\u003e\n\u003c/dd\u003e\n\u003cdt\u003e\u003cspan\u003e\u003ccode\u003e-m \u003cem\u003e\u003ccode\u003epath\u003c/code\u003e\u003c/em\u003e\u003c/code\u003e\u003cbr\u003e\u003c/span\u003e\u003cspan\u003e\u003ccode\u003e--manifest-path=\u003cem\u003e\u003ccode\u003epath\u003c/code\u003e\u003c/em\u003e\u003c/code\u003e\u003c/span\u003e\u003c/dt\u003e\n\u003cdd\u003e\n\u003cp\u003eUse the manifest file at the specified path, rather than one located in the root of the backup directory.\u003c/p\u003e\n\u003c/dd\u003e\n\u003cdt\u003e\u003cspan\u003e\u003ccode\u003e-n\u003c/code\u003e\u003cbr\u003e\u003c/span\u003e\u003cspan\u003e\u003ccode\u003e--no-parse-wal\u003c/code\u003e\u003c/span\u003e\u003c/dt\u003e\n\u003cdd\u003e\n\u003cp\u003eDon\u0026#39;t attempt to parse write-ahead log data that will be needed to recover from this backup.\u003c/p\u003e\n\u003c/dd\u003e\n\u003cdt\u003e\u003cspan\u003e\u003ccode\u003e-P\u003c/code\u003e\u003cbr\u003e\u003c/span\u003e\u003cspan\u003e\u003ccode\u003e--progress\u003c/code\u003e\u003c/span\u003e\u003c/dt\u003e\n\u003cdd\u003e\n\u003cp\u003eEnable progress reporting. Turning this on will deliver a progress report while verifying checksums.\u003c/p\u003e\n\u003cp\u003eThis option cannot be used together with the option \u003ccode\u003e--quiet\u003c/code\u003e.\u003c/p\u003e\n\u003c/dd\u003e\n\u003cdt\u003e\u003cspan\u003e\u003ccode\u003e-q\u003c/code\u003e\u003cbr\u003e\u003c/span\u003e\u003cspan\u003e\u003ccode\u003e--quiet\u003c/code\u003e\u003c/span\u003e\u003c/dt\u003e\n\u003cdd\u003e\n\u003cp\u003eDon\u0026#39;t print anything when a backup is successfully verified.\u003c/p\u003e\n\u003c/dd\u003e\n\u003cdt\u003e\u003cspan\u003e\u003ccode\u003e-s\u003c/code\u003e\u003cbr\u003e\u003c/span\u003e\u003cspan\u003e\u003ccode\u003e--skip-checksums\u003c/code\u003e\u003c/span\u003e\u003c/dt\u003e\n\u003cdd\u003e\n\u003cp\u003eDo not verify data file checksums. The presence or absence of files and the sizes of those files will still be checked. This is much faster, because the files themselves do not need to be read.\u003c/p\u003e\n\u003c/dd\u003e\n\u003cdt\u003e\u003cspan\u003e\u003ccode\u003e-w \u003cem\u003e\u003ccode\u003epath\u003c/code\u003e\u003c/em\u003e\u003c/code\u003e\u003cbr\u003e\u003c/span\u003e\u003cspan\u003e\u003ccode\u003e--wal-directory=\u003cem\u003e\u003ccode\u003epath\u003c/code\u003e\u003c/em\u003e\u003c/code\u003e\u003c/span\u003e\u003c/dt\u003e\n\u003cdd\u003e\n\u003cp\u003eTry to parse WAL files stored in the specified directory, rather than in \u003ccode\u003epg_wal\u003c/code\u003e. This may be useful if the backup is stored in a separate location from the WAL archive.\u003c/p\u003e\n\u003c/dd\u003e\n\u003c/dl\u003e\n\u003c/div\u003e\n\u003cp\u003eOther options are also available:\u003c/p\u003e\n\u003cdiv\u003e\n\u003cdl\u003e\n\u003cdt\u003e\u003cspan\u003e\u003ccode\u003e-V\u003c/code\u003e\u003cbr\u003e\u003c/span\u003e\u003cspan\u003e\u003ccode\u003e--version\u003c/code\u003e\u003c/span\u003e\u003c/dt\u003e\n\u003cdd\u003e\n\u003cp\u003ePrint the \u003cspan\u003epg_verifybackup\u003c/span\u003e version and exit.\u003c/p\u003e\n\u003c/dd\u003e\n\u003cdt\u003e\u003cspan\u003e\u003ccode\u003e-?\u003c/code\u003e\u003cbr\u003e\u003c/span\u003e\u003cspan\u003e\u003ccode\u003e--help\u003c/code\u003e\u003c/span\u003e\u003c/dt\u003e\n\u003cdd\u003e\n\u003cp\u003eShow help about \u003cspan\u003epg_verifybackup\u003c/span\u003e command line arguments, and exit.\u003c/p\u003e\n\u003c/dd\u003e\n\u003c/dl\u003e\n\u003c/div\u003e\n\u003c/div\u003e\n\u003cdiv id=\"id-1.9.4.20.7\"\u003e\n\u003ch2\u003eExamples\u003c/h2\u003e\n\u003cp\u003eTo create a base backup of the server at \u003ccode\u003emydbserver\u003c/code\u003e and verify the integrity of the backup:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e$\u003c/code\u003e \u003cstrong\u003e\u003ccode\u003epg_basebackup -h mydbserver -D /usr/local/pgsql/data\u003c/code\u003e\u003c/strong\u003e\n\u003ccode\u003e$\u003c/code\u003e \u003cstrong\u003e\u003ccode\u003epg_verifybackup /usr/local/pgsql/data\u003c/code\u003e\u003c/strong\u003e\n\u003c/pre\u003e\n\u003cp\u003eTo create a base backup of the server at \u003ccode\u003emydbserver\u003c/code\u003e, move the manifest somewhere outside the backup directory, and verify the backup:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e$\u003c/code\u003e \u003cstrong\u003e\u003ccode\u003epg_basebackup -h mydbserver -D /usr/local/pgsql/backup1234\u003c/code\u003e\u003c/strong\u003e\n\u003ccode\u003e$\u003c/code\u003e \u003cstrong\u003e\u003ccode\u003emv /usr/local/pgsql/backup1234/backup_manifest /my/secure/location/backup_manifest.1234\u003c/code\u003e\u003c/strong\u003e\n\u003ccode\u003e$\u003c/code\u003e \u003cstrong\u003e\u003ccode\u003epg_verifybackup -m /my/secure/location/backup_manifest.1234 /usr/local/pgsql/backup1234\u003c/code\u003e\u003c/strong\u003e\n\u003c/pre\u003e\n\u003cp\u003eTo verify a backup while ignoring a file that was added manually to the backup directory, and also skipping checksum verification:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e$\u003c/code\u003e \u003cstrong\u003e\u003ccode\u003epg_basebackup -h mydbserver -D /usr/local/pgsql/data\u003c/code\u003e\u003c/strong\u003e\n\u003ccode\u003e$\u003c/code\u003e \u003cstrong\u003e\u003ccode\u003eedit /usr/local/pgsql/data/note.to.self\u003c/code\u003e\u003c/strong\u003e\n\u003ccode\u003e$\u003c/code\u003e \u003cstrong\u003e\u003ccode\u003epg_verifybackup --ignore=note.to.self --skip-checksums /usr/local/pgsql/data\u003c/code\u003e\u003c/strong\u003e\n\u003c/pre\u003e\n\u003c/div\u003e\n\u003cdiv id=\"id-1.9.4.20.8\"\u003e\n\u003ch2\u003eSee Also\u003c/h2\u003e\u003cspan\u003e\u003ca href=\"/docs/18/app-pgbasebackup.html\" title=\"pg_basebackup\" rel=\"nofollow\"\u003e\u003cspan\u003e\u003cspan\u003epg_basebackup\u003c/span\u003e\u003c/span\u003e\u003c/a\u003e\u003c/span\u003e\n\u003c/div\u003e\n\u003c/div\u003e\u003c/div\u003e","SourceRevision":"ee8d1a3612338fd9adf250730cb640fcc5233b5491337cc00a316a44e3a0b9f8","ContentHash":"3f0a3fa0153679b36498e0fcb3aaa1e7c53a5af8e0447faebacc8c3f28593caf","Payload":{"description":["pg_verifybackup — verify the integrity of a base backup of a PostgreSQL cluster"],"manual_html":"\u003cdiv\u003e\u003cdiv class=\"refentry\" id=\"APP-PGVERIFYBACKUP\"\u003e\n\u003cdiv class=\"titlepage\"\u003e\u003c/div\u003e\n\u003cdiv class=\"refnamediv\"\u003e\n\u003ch2\u003e\u003cspan class=\"refentrytitle\"\u003e\u003cspan class=\"application\"\u003epg_verifybackup\u003c/span\u003e\u003c/span\u003e\u003c/h2\u003e\n\u003cp\u003epg_verifybackup — verify the integrity of a base backup of a \u003cspan class=\"productname\"\u003ePostgreSQL\u003c/span\u003e cluster\u003c/p\u003e\n\u003c/div\u003e\n\u003cdiv class=\"refsynopsisdiv\"\u003e\n\u003ch2\u003eSynopsis\u003c/h2\u003e\n\u003cdiv class=\"cmdsynopsis\"\u003e\n\u003cp id=\"id-1.9.4.20.4.1\"\u003e\u003ccode class=\"command\"\u003epg_verifybackup\u003c/code\u003e [\u003cem class=\"replaceable\"\u003e\u003ccode\u003eoption\u003c/code\u003e\u003c/em\u003e...]\u003c/p\u003e\n\u003c/div\u003e\n\u003c/div\u003e\n\u003cdiv class=\"refsect1\" id=\"id-1.9.4.20.5\"\u003e\n\u003ch2\u003eDescription\u003c/h2\u003e\n\u003cp\u003e\u003cspan class=\"application\"\u003epg_verifybackup\u003c/span\u003e is used to check the integrity of a database cluster backup taken using \u003ccode class=\"command\"\u003epg_basebackup\u003c/code\u003e against a \u003ccode class=\"literal\"\u003ebackup_manifest\u003c/code\u003e generated by the server at the time of the backup. The backup may be stored either in the \"plain\" or the \"tar\" format; this includes tar-format backups compressed with any algorithm supported by \u003cspan class=\"application\"\u003epg_basebackup\u003c/span\u003e. However, at present, \u003ccode class=\"literal\"\u003eWAL\u003c/code\u003e verification is supported only for plain-format backups. Therefore, if the backup is stored in tar-format, the \u003ccode class=\"literal\"\u003e-n, --no-parse-wal\u003c/code\u003e option should be used.\u003c/p\u003e\n\u003cp\u003eIt is important to note that the validation which is performed by \u003cspan class=\"application\"\u003epg_verifybackup\u003c/span\u003e does not and cannot include every check which will be performed by a running server when attempting to make use of the backup. Even if you use this tool, you should still perform test restores and verify that the resulting databases work as expected and that they appear to contain the correct data. However, \u003cspan class=\"application\"\u003epg_verifybackup\u003c/span\u003e can detect many problems that commonly occur due to storage problems or user error.\u003c/p\u003e\n\u003cp\u003eBackup verification proceeds in four stages. First, \u003ccode class=\"literal\"\u003epg_verifybackup\u003c/code\u003e reads the \u003ccode class=\"literal\"\u003ebackup_manifest\u003c/code\u003e file. If that file does not exist, cannot be read, is malformed, fails to match the system identifier with \u003ccode class=\"filename\"\u003epg_control\u003c/code\u003e of the backup directory or fails verification against its own internal checksum, \u003ccode class=\"literal\"\u003epg_verifybackup\u003c/code\u003e will terminate with a fatal error.\u003c/p\u003e\n\u003cp\u003eSecond, \u003ccode class=\"literal\"\u003epg_verifybackup\u003c/code\u003e will attempt to verify that the data files currently stored on disk are exactly the same as the data files which the server intended to send, with some exceptions that are described below. Extra and missing files will be detected, with a few exceptions. This step will ignore the presence or absence of, or any modifications to, \u003ccode class=\"literal\"\u003epostgresql.auto.conf\u003c/code\u003e, \u003ccode class=\"literal\"\u003estandby.signal\u003c/code\u003e, and \u003ccode class=\"literal\"\u003erecovery.signal\u003c/code\u003e, because it is expected that these files may have been created or modified as part of the process of taking the backup. It also won't complain about a \u003ccode class=\"literal\"\u003ebackup_manifest\u003c/code\u003e file in the target directory or about anything inside \u003ccode class=\"literal\"\u003epg_wal\u003c/code\u003e, even though these files won't be listed in the backup manifest. Only files are checked; the presence or absence of directories is not verified, except indirectly: if a directory is missing, any files it should have contained will necessarily also be missing.\u003c/p\u003e\n\u003cp\u003eNext, \u003ccode class=\"literal\"\u003epg_verifybackup\u003c/code\u003e will checksum all the files, compare the checksums against the values in the manifest, and emit errors for any files for which the computed checksum does not match the checksum stored in the manifest. This step is not performed for any files which produced errors in the previous step, since they are already known to have problems. Files which were ignored in the previous step are also ignored in this step.\u003c/p\u003e\n\u003cp\u003eFinally, \u003ccode class=\"literal\"\u003epg_verifybackup\u003c/code\u003e will use the manifest to verify that the write-ahead log records which will be needed to recover the backup are present and that they can be read and parsed. The \u003ccode class=\"literal\"\u003ebackup_manifest\u003c/code\u003e contains information about which write-ahead log records will be needed, and \u003ccode class=\"literal\"\u003epg_verifybackup\u003c/code\u003e will use that information to invoke \u003ccode class=\"literal\"\u003epg_waldump\u003c/code\u003e to parse those write-ahead log records. The \u003ccode class=\"literal\"\u003e--quiet\u003c/code\u003e flag will be used, so that \u003ccode class=\"literal\"\u003epg_waldump\u003c/code\u003e will only report errors, without producing any other output. While this level of verification is sufficient to detect obvious problems such as a missing file or one whose internal checksums do not match, they aren't extensive enough to detect every possible problem that might occur when attempting to recover. For instance, a server bug that produces write-ahead log records that have the correct checksums but specify nonsensical actions can't be detected by this method.\u003c/p\u003e\n\u003cp\u003eNote that if extra WAL files which are not required to recover the backup are present, they will not be checked by this tool, although a separate invocation of \u003ccode class=\"literal\"\u003epg_waldump\u003c/code\u003e could be used for that purpose. Also note that WAL verification is version-specific: you must use the version of \u003ccode class=\"literal\"\u003epg_verifybackup\u003c/code\u003e, and thus of \u003ccode class=\"literal\"\u003epg_waldump\u003c/code\u003e, which pertains to the backup being checked. In contrast, the data file integrity checks should work with any version of the server that generates a \u003ccode class=\"literal\"\u003ebackup_manifest\u003c/code\u003e file.\u003c/p\u003e\n\u003c/div\u003e\n\u003cdiv class=\"refsect1\" id=\"id-1.9.4.20.6\"\u003e\n\u003ch2\u003eOptions\u003c/h2\u003e\n\u003cp\u003e\u003cspan class=\"application\"\u003epg_verifybackup\u003c/span\u003e accepts the following command-line arguments:\u003c/p\u003e\n\u003cdiv class=\"variablelist\"\u003e\n\u003cdl class=\"variablelist\"\u003e\n\u003cdt\u003e\u003cspan class=\"term\"\u003e\u003ccode class=\"option\"\u003e-e\u003c/code\u003e\u003cbr\u003e\u003c/span\u003e\u003cspan class=\"term\"\u003e\u003ccode class=\"option\"\u003e--exit-on-error\u003c/code\u003e\u003c/span\u003e\u003c/dt\u003e\n\u003cdd\u003e\n\u003cp\u003eExit as soon as a problem with the backup is detected. If this option is not specified, \u003ccode class=\"literal\"\u003epg_verifybackup\u003c/code\u003e will continue checking the backup even after a problem has been detected, and will report all problems detected as errors.\u003c/p\u003e\n\u003c/dd\u003e\n\u003cdt\u003e\u003cspan class=\"term\"\u003e\u003ccode class=\"option\"\u003e-F \u003cem class=\"replaceable\"\u003e\u003ccode\u003eformat\u003c/code\u003e\u003c/em\u003e\u003c/code\u003e\u003cbr\u003e\u003c/span\u003e\u003cspan class=\"term\"\u003e\u003ccode class=\"option\"\u003e--format=\u003cem class=\"replaceable\"\u003e\u003ccode\u003eformat\u003c/code\u003e\u003c/em\u003e\u003c/code\u003e\u003c/span\u003e\u003c/dt\u003e\n\u003cdd\u003e\n\u003cp\u003eSpecifies the format of the backup. \u003cem class=\"replaceable\"\u003e\u003ccode\u003eformat\u003c/code\u003e\u003c/em\u003e can be one of the following:\u003c/p\u003e\n\u003cdiv class=\"variablelist\"\u003e\n\u003cdl class=\"variablelist\"\u003e\n\u003cdt\u003e\u003cspan class=\"term\"\u003e\u003ccode class=\"literal\"\u003ep\u003c/code\u003e\u003cbr\u003e\u003c/span\u003e\u003cspan class=\"term\"\u003e\u003ccode class=\"literal\"\u003eplain\u003c/code\u003e\u003c/span\u003e\u003c/dt\u003e\n\u003cdd\u003e\n\u003cp\u003eBackup consists of plain files with the same layout as the source server's data directory and tablespaces.\u003c/p\u003e\n\u003c/dd\u003e\n\u003cdt\u003e\u003cspan class=\"term\"\u003e\u003ccode class=\"literal\"\u003et\u003c/code\u003e\u003cbr\u003e\u003c/span\u003e\u003cspan class=\"term\"\u003e\u003ccode class=\"literal\"\u003etar\u003c/code\u003e\u003c/span\u003e\u003c/dt\u003e\n\u003cdd\u003e\n\u003cp\u003eBackup consists of tar files, which may be compressed. A valid backup includes the main data directory in a file named \u003ccode class=\"filename\"\u003ebase.tar\u003c/code\u003e, the WAL files in \u003ccode class=\"filename\"\u003epg_wal.tar\u003c/code\u003e, and separate tar files for each tablespace, named after the tablespace's OID. If the backup is compressed, the relevant compression extension is added to the end of each file name.\u003c/p\u003e\n\u003c/dd\u003e\n\u003c/dl\u003e\n\u003c/div\u003e\n\u003c/dd\u003e\n\u003cdt\u003e\u003cspan class=\"term\"\u003e\u003ccode class=\"option\"\u003e-i \u003cem class=\"replaceable\"\u003e\u003ccode\u003epath\u003c/code\u003e\u003c/em\u003e\u003c/code\u003e\u003cbr\u003e\u003c/span\u003e\u003cspan class=\"term\"\u003e\u003ccode class=\"option\"\u003e--ignore=\u003cem class=\"replaceable\"\u003e\u003ccode\u003epath\u003c/code\u003e\u003c/em\u003e\u003c/code\u003e\u003c/span\u003e\u003c/dt\u003e\n\u003cdd\u003e\n\u003cp\u003eIgnore the specified file or directory, which should be expressed as a relative path name, when comparing the list of data files actually present in the backup to those listed in the \u003ccode class=\"literal\"\u003ebackup_manifest\u003c/code\u003e file. If a directory is specified, this option affects the entire subtree rooted at that location. Complaints about extra files, missing files, file size differences, or checksum mismatches will be suppressed if the relative path name matches the specified path name. This option can be specified multiple times.\u003c/p\u003e\n\u003c/dd\u003e\n\u003cdt\u003e\u003cspan class=\"term\"\u003e\u003ccode class=\"option\"\u003e-m \u003cem class=\"replaceable\"\u003e\u003ccode\u003epath\u003c/code\u003e\u003c/em\u003e\u003c/code\u003e\u003cbr\u003e\u003c/span\u003e\u003cspan class=\"term\"\u003e\u003ccode class=\"option\"\u003e--manifest-path=\u003cem class=\"replaceable\"\u003e\u003ccode\u003epath\u003c/code\u003e\u003c/em\u003e\u003c/code\u003e\u003c/span\u003e\u003c/dt\u003e\n\u003cdd\u003e\n\u003cp\u003eUse the manifest file at the specified path, rather than one located in the root of the backup directory.\u003c/p\u003e\n\u003c/dd\u003e\n\u003cdt\u003e\u003cspan class=\"term\"\u003e\u003ccode class=\"option\"\u003e-n\u003c/code\u003e\u003cbr\u003e\u003c/span\u003e\u003cspan class=\"term\"\u003e\u003ccode class=\"option\"\u003e--no-parse-wal\u003c/code\u003e\u003c/span\u003e\u003c/dt\u003e\n\u003cdd\u003e\n\u003cp\u003eDon't attempt to parse write-ahead log data that will be needed to recover from this backup.\u003c/p\u003e\n\u003c/dd\u003e\n\u003cdt\u003e\u003cspan class=\"term\"\u003e\u003ccode class=\"option\"\u003e-P\u003c/code\u003e\u003cbr\u003e\u003c/span\u003e\u003cspan class=\"term\"\u003e\u003ccode class=\"option\"\u003e--progress\u003c/code\u003e\u003c/span\u003e\u003c/dt\u003e\n\u003cdd\u003e\n\u003cp\u003eEnable progress reporting. Turning this on will deliver a progress report while verifying checksums.\u003c/p\u003e\n\u003cp\u003eThis option cannot be used together with the option \u003ccode class=\"option\"\u003e--quiet\u003c/code\u003e.\u003c/p\u003e\n\u003c/dd\u003e\n\u003cdt\u003e\u003cspan class=\"term\"\u003e\u003ccode class=\"option\"\u003e-q\u003c/code\u003e\u003cbr\u003e\u003c/span\u003e\u003cspan class=\"term\"\u003e\u003ccode class=\"option\"\u003e--quiet\u003c/code\u003e\u003c/span\u003e\u003c/dt\u003e\n\u003cdd\u003e\n\u003cp\u003eDon't print anything when a backup is successfully verified.\u003c/p\u003e\n\u003c/dd\u003e\n\u003cdt\u003e\u003cspan class=\"term\"\u003e\u003ccode class=\"option\"\u003e-s\u003c/code\u003e\u003cbr\u003e\u003c/span\u003e\u003cspan class=\"term\"\u003e\u003ccode class=\"option\"\u003e--skip-checksums\u003c/code\u003e\u003c/span\u003e\u003c/dt\u003e\n\u003cdd\u003e\n\u003cp\u003eDo not verify data file checksums. The presence or absence of files and the sizes of those files will still be checked. This is much faster, because the files themselves do not need to be read.\u003c/p\u003e\n\u003c/dd\u003e\n\u003cdt\u003e\u003cspan class=\"term\"\u003e\u003ccode class=\"option\"\u003e-w \u003cem class=\"replaceable\"\u003e\u003ccode\u003epath\u003c/code\u003e\u003c/em\u003e\u003c/code\u003e\u003cbr\u003e\u003c/span\u003e\u003cspan class=\"term\"\u003e\u003ccode class=\"option\"\u003e--wal-directory=\u003cem class=\"replaceable\"\u003e\u003ccode\u003epath\u003c/code\u003e\u003c/em\u003e\u003c/code\u003e\u003c/span\u003e\u003c/dt\u003e\n\u003cdd\u003e\n\u003cp\u003eTry to parse WAL files stored in the specified directory, rather than in \u003ccode class=\"literal\"\u003epg_wal\u003c/code\u003e. This may be useful if the backup is stored in a separate location from the WAL archive.\u003c/p\u003e\n\u003c/dd\u003e\n\u003c/dl\u003e\n\u003c/div\u003e\n\u003cp\u003eOther options are also available:\u003c/p\u003e\n\u003cdiv class=\"variablelist\"\u003e\n\u003cdl class=\"variablelist\"\u003e\n\u003cdt\u003e\u003cspan class=\"term\"\u003e\u003ccode class=\"option\"\u003e-V\u003c/code\u003e\u003cbr\u003e\u003c/span\u003e\u003cspan class=\"term\"\u003e\u003ccode class=\"option\"\u003e--version\u003c/code\u003e\u003c/span\u003e\u003c/dt\u003e\n\u003cdd\u003e\n\u003cp\u003ePrint the \u003cspan class=\"application\"\u003epg_verifybackup\u003c/span\u003e version and exit.\u003c/p\u003e\n\u003c/dd\u003e\n\u003cdt\u003e\u003cspan class=\"term\"\u003e\u003ccode class=\"option\"\u003e-?\u003c/code\u003e\u003cbr\u003e\u003c/span\u003e\u003cspan class=\"term\"\u003e\u003ccode class=\"option\"\u003e--help\u003c/code\u003e\u003c/span\u003e\u003c/dt\u003e\n\u003cdd\u003e\n\u003cp\u003eShow help about \u003cspan class=\"application\"\u003epg_verifybackup\u003c/span\u003e command line arguments, and exit.\u003c/p\u003e\n\u003c/dd\u003e\n\u003c/dl\u003e\n\u003c/div\u003e\n\u003c/div\u003e\n\u003cdiv class=\"refsect1\" id=\"id-1.9.4.20.7\"\u003e\n\u003ch2\u003eExamples\u003c/h2\u003e\n\u003cp\u003eTo create a base backup of the server at \u003ccode class=\"literal\"\u003emydbserver\u003c/code\u003e and verify the integrity of the backup:\u003c/p\u003e\n\u003cpre class=\"screen\"\u003e\u003ccode class=\"prompt\"\u003e$\u003c/code\u003e \u003cstrong class=\"userinput\"\u003e\u003ccode\u003epg_basebackup -h mydbserver -D /usr/local/pgsql/data\u003c/code\u003e\u003c/strong\u003e\n\u003ccode class=\"prompt\"\u003e$\u003c/code\u003e \u003cstrong class=\"userinput\"\u003e\u003ccode\u003epg_verifybackup /usr/local/pgsql/data\u003c/code\u003e\u003c/strong\u003e\n\u003c/pre\u003e\n\u003cp\u003eTo create a base backup of the server at \u003ccode class=\"literal\"\u003emydbserver\u003c/code\u003e, move the manifest somewhere outside the backup directory, and verify the backup:\u003c/p\u003e\n\u003cpre class=\"screen\"\u003e\u003ccode class=\"prompt\"\u003e$\u003c/code\u003e \u003cstrong class=\"userinput\"\u003e\u003ccode\u003epg_basebackup -h mydbserver -D /usr/local/pgsql/backup1234\u003c/code\u003e\u003c/strong\u003e\n\u003ccode class=\"prompt\"\u003e$\u003c/code\u003e \u003cstrong class=\"userinput\"\u003e\u003ccode\u003emv /usr/local/pgsql/backup1234/backup_manifest /my/secure/location/backup_manifest.1234\u003c/code\u003e\u003c/strong\u003e\n\u003ccode class=\"prompt\"\u003e$\u003c/code\u003e \u003cstrong class=\"userinput\"\u003e\u003ccode\u003epg_verifybackup -m /my/secure/location/backup_manifest.1234 /usr/local/pgsql/backup1234\u003c/code\u003e\u003c/strong\u003e\n\u003c/pre\u003e\n\u003cp\u003eTo verify a backup while ignoring a file that was added manually to the backup directory, and also skipping checksum verification:\u003c/p\u003e\n\u003cpre class=\"screen\"\u003e\u003ccode class=\"prompt\"\u003e$\u003c/code\u003e \u003cstrong class=\"userinput\"\u003e\u003ccode\u003epg_basebackup -h mydbserver -D /usr/local/pgsql/data\u003c/code\u003e\u003c/strong\u003e\n\u003ccode class=\"prompt\"\u003e$\u003c/code\u003e \u003cstrong class=\"userinput\"\u003e\u003ccode\u003eedit /usr/local/pgsql/data/note.to.self\u003c/code\u003e\u003c/strong\u003e\n\u003ccode class=\"prompt\"\u003e$\u003c/code\u003e \u003cstrong class=\"userinput\"\u003e\u003ccode\u003epg_verifybackup --ignore=note.to.self --skip-checksums /usr/local/pgsql/data\u003c/code\u003e\u003c/strong\u003e\n\u003c/pre\u003e\n\u003c/div\u003e\n\u003cdiv class=\"refsect1\" id=\"id-1.9.4.20.8\"\u003e\n\u003ch2\u003eSee Also\u003c/h2\u003e\u003cspan class=\"simplelist\"\u003e\u003ca class=\"xref\" href=\"/docs/18/app-pgbasebackup.html\" title=\"pg_basebackup\"\u003e\u003cspan class=\"refentrytitle\"\u003e\u003cspan class=\"application\"\u003epg_basebackup\u003c/span\u003e\u003c/span\u003e\u003c/a\u003e\u003c/span\u003e\n\u003c/div\u003e\n\u003c/div\u003e\u003c/div\u003e","related":[],"sections":[],"tables":[{"columns":[{"key":"signature","label":"Option and arguments"},{"key":"summary","label":"Description"}],"key":"options","rows":[{"signature":{"text":"-e --exit-on-error","url":"/docs/18/app-pgverifybackup.html"},"summary":"Exit as soon as a problem with the backup is detected. If this option is not specified, pg_verifybackup will continue checking the backup even after a problem has been detected, and will report all problems detected as errors."},{"signature":{"text":"-F format --format= format","url":"/docs/18/app-pgverifybackup.html"},"summary":"Specifies the format of the backup. format can be one of the following:"},{"signature":{"text":"-i path --ignore= path","url":"/docs/18/app-pgverifybackup.html"},"summary":"Ignore the specified file or directory, which should be expressed as a relative path name, when comparing the list of data files actually present in the backup to those listed in the backup_manifest file. If a directory is specified, this option affects the entire subtree rooted at that location. Complaints about extra files, missing files, file size differences, or checksum mismatches will be suppressed if the relative path name matches the specified path name. This option can be specified multiple times."},{"signature":{"text":"-m path --manifest-path= path","url":"/docs/18/app-pgverifybackup.html"},"summary":"Use the manifest file at the specified path, rather than one located in the root of the backup directory."},{"signature":{"text":"-n --no-parse-wal","url":"/docs/18/app-pgverifybackup.html"},"summary":"Don't attempt to parse write-ahead log data that will be needed to recover from this backup."},{"signature":{"text":"-P --progress","url":"/docs/18/app-pgverifybackup.html"},"summary":"Enable progress reporting. Turning this on will deliver a progress report while verifying checksums."},{"signature":{"text":"-q --quiet","url":"/docs/18/app-pgverifybackup.html"},"summary":"Don't print anything when a backup is successfully verified."},{"signature":{"text":"-s --skip-checksums","url":"/docs/18/app-pgverifybackup.html"},"summary":"Do not verify data file checksums. The presence or absence of files and the sizes of those files will still be checked. This is much faster, because the files themselves do not need to be read."},{"signature":{"text":"-w path --wal-directory= path","url":"/docs/18/app-pgverifybackup.html"},"summary":"Try to parse WAL files stored in the specified directory, rather than in pg_wal . This may be useful if the backup is stored in a separate location from the WAL archive."},{"signature":{"text":"-V --version","url":"/docs/18/app-pgverifybackup.html"},"summary":"Print the pg_verifybackup version and exit."},{"signature":{"text":"-? --help","url":"/docs/18/app-pgverifybackup.html"},"summary":"Show help about pg_verifybackup command line arguments, and exit."}],"title":"Documented options"}]}},"RequestedLocale":"en","Fallback":false,"Versions":["13","14","15","16","17","18","19","20"],"Locales":["en","zh-Hans"],"Signatures":null,"Spellings":null,"SQLState":null,"Evidence":null}
