From 41c255a4e57445eb8818d9635f982d665c2c4698 Mon Sep 17 00:00:00 2001 From: Robert Haas Date: Tue, 31 Mar 2020 08:13:25 -0400 Subject: [PATCH v16 3/4] pg_waldump: Add --quiet option. Andres Freund and Robert Haas --- src/bin/pg_waldump/pg_waldump.c | 21 +++++++++++++++------ 1 file changed, 15 insertions(+), 6 deletions(-) diff --git a/src/bin/pg_waldump/pg_waldump.c b/src/bin/pg_waldump/pg_waldump.c index 279acfa044..14dca65beb 100644 --- a/src/bin/pg_waldump/pg_waldump.c +++ b/src/bin/pg_waldump/pg_waldump.c @@ -40,6 +40,7 @@ typedef struct XLogDumpPrivate typedef struct XLogDumpConfig { /* display options */ + bool quiet; bool bkp_details; int stop_after_records; int already_displayed_records; @@ -755,6 +756,7 @@ main(int argc, char **argv) {"help", no_argument, NULL, '?'}, {"limit", required_argument, NULL, 'n'}, {"path", required_argument, NULL, 'p'}, + {"quiet", no_argument, NULL, 'q'}, {"rmgr", required_argument, NULL, 'r'}, {"start", required_argument, NULL, 's'}, {"timeline", required_argument, NULL, 't'}, @@ -794,6 +796,7 @@ main(int argc, char **argv) private.endptr = InvalidXLogRecPtr; private.endptr_reached = false; + config.quiet = false; config.bkp_details = false; config.stop_after_records = -1; config.already_displayed_records = 0; @@ -810,7 +813,7 @@ 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:fn:p:qr:s:t:x:z", long_options, &optindex)) != -1) { switch (option) @@ -840,6 +843,9 @@ main(int argc, char **argv) case 'p': waldir = pg_strdup(optarg); break; + case 'q': + config.quiet = true; + break; case 'r': { int i; @@ -1075,11 +1081,14 @@ main(int argc, char **argv) config.filter_by_xid != record->xl_xid) continue; - /* process the record */ - if (config.stats == true) - XLogDumpCountRecord(&config, &stats, xlogreader_state); - else - XLogDumpDisplayRecord(&config, xlogreader_state); + /* perform any per-record work */ + if (!config.quiet) + { + if (config.stats == true) + XLogDumpCountRecord(&config, &stats, xlogreader_state); + else + XLogDumpDisplayRecord(&config, xlogreader_state); + } /* check whether we printed enough */ config.already_displayed_records++; -- 2.17.2 (Apple Git-113)