waldump-verify.diff
text/x-diff
Patch
Same data as JSON:
GET /api/v1/attachments/:id/patch
the parsed metadata as JSON — format, series position, per-file stats; never the diff bytes.
API reference →
Format: unified
| File | + | − |
|---|---|---|
| src/bin/pg_basebackup/pg_basebackup.c | 5 | 0 |
| src/bin/pg_waldump/pg_waldump.c | 14 | 5 |
diff --git c/src/bin/pg_basebackup/pg_basebackup.c i/src/bin/pg_basebackup/pg_basebackup.c
index c5d95958b29..b61492eba4c 100644
--- c/src/bin/pg_basebackup/pg_basebackup.c
+++ i/src/bin/pg_basebackup/pg_basebackup.c
@@ -2033,6 +2033,11 @@ BaseBackup(void)
if (verbose)
pg_log_info("base backup completed");
+
+ if (format == 'p')
+ pg_log_info("pg_waldump --just-parse -p \"%s\" -t %u -s %s -e %s",
+ basedir, starttli,
+ xlogstart, xlogend);
}
diff --git c/src/bin/pg_waldump/pg_waldump.c i/src/bin/pg_waldump/pg_waldump.c
index 279acfa0440..63f4a9cba1f 100644
--- c/src/bin/pg_waldump/pg_waldump.c
+++ i/src/bin/pg_waldump/pg_waldump.c
@@ -40,6 +40,7 @@ typedef struct XLogDumpPrivate
typedef struct XLogDumpConfig
{
/* display options */
+ bool just_parse;
bool bkp_details;
int stop_after_records;
int already_displayed_records;
@@ -749,6 +750,7 @@ main(int argc, char **argv)
char *errormsg;
static struct option long_options[] = {
+ {"just-parse", no_argument, NULL, 'j'},
{"bkp-details", no_argument, NULL, 'b'},
{"end", required_argument, NULL, 'e'},
{"follow", no_argument, NULL, 'f'},
@@ -794,6 +796,7 @@ main(int argc, char **argv)
private.endptr = InvalidXLogRecPtr;
private.endptr_reached = false;
+ config.just_parse = false;
config.bkp_details = false;
config.stop_after_records = -1;
config.already_displayed_records = 0;
@@ -810,11 +813,14 @@ main(int argc, char **argv)
goto bad_argument;
}
- while ((option = getopt_long(argc, argv, "be:fn:p:r:s:t:x:z",
+ while ((option = getopt_long(argc, argv, "be:fjn:p:r:s:t:x:z",
long_options, &optindex)) != -1)
{
switch (option)
{
+ case 'j':
+ config.just_parse = true;
+ break;
case 'b':
config.bkp_details = true;
break;
@@ -1076,10 +1082,13 @@ main(int argc, char **argv)
continue;
/* process the record */
- if (config.stats == true)
- XLogDumpCountRecord(&config, &stats, xlogreader_state);
- else
- XLogDumpDisplayRecord(&config, xlogreader_state);
+ if (!config.just_parse)
+ {
+ if (config.stats == true)
+ XLogDumpCountRecord(&config, &stats, xlogreader_state);
+ else
+ XLogDumpDisplayRecord(&config, xlogreader_state);
+ }
/* check whether we printed enough */
config.already_displayed_records++;