Commit a846e6d0 authored by Alvaro Herrera's avatar Alvaro Herrera

pg_verify_checksums: rename -d to --verbose

Using -d is odd, because we normally reserve that for a database
argument, so rename it to -v and add long version --verbose.

Also, reduce it to emit one line per file checked rather than one line
per block.

Per a complaint from Michael Banck.

Author: Yugo Nagata <nagata@sraoss.co.jp>
Reviewed-by: default avatarMichael Banck <michael.banck@credativ.de>
Discussion: https://postgr.es/m/20180827113411.GA22768@nighthawk.caipicrew.dd-dns.de
parent 4db226b7
...@@ -61,10 +61,11 @@ PostgreSQL documentation ...@@ -61,10 +61,11 @@ PostgreSQL documentation
</varlistentry> </varlistentry>
<varlistentry> <varlistentry>
<term><option>-d</option></term> <term><option>-v</option></term>
<term><option>--verbose</option></term>
<listitem> <listitem>
<para> <para>
Enable debug output. Lists all checked blocks and their checksum. Enable verbose output. Lists all checked files.
</para> </para>
</listitem> </listitem>
</varlistentry> </varlistentry>
......
...@@ -31,7 +31,7 @@ static int64 badblocks = 0; ...@@ -31,7 +31,7 @@ static int64 badblocks = 0;
static ControlFileData *ControlFile; static ControlFileData *ControlFile;
static char *only_relfilenode = NULL; static char *only_relfilenode = NULL;
static bool debug = false; static bool verbose = false;
static const char *progname; static const char *progname;
...@@ -43,7 +43,7 @@ usage() ...@@ -43,7 +43,7 @@ usage()
printf(_(" %s [OPTION]... [DATADIR]\n"), progname); printf(_(" %s [OPTION]... [DATADIR]\n"), progname);
printf(_("\nOptions:\n")); printf(_("\nOptions:\n"));
printf(_(" [-D, --pgdata=]DATADIR data directory\n")); printf(_(" [-D, --pgdata=]DATADIR data directory\n"));
printf(_(" -d debug output, list all checked blocks\n")); printf(_(" -v, --verbose output verbose messages\n"));
printf(_(" -r RELFILENODE check only relation with specified relfilenode\n")); printf(_(" -r RELFILENODE check only relation with specified relfilenode\n"));
printf(_(" -V, --version output version information, then exit\n")); printf(_(" -V, --version output version information, then exit\n"));
printf(_(" -?, --help show this help, then exit\n")); printf(_(" -?, --help show this help, then exit\n"));
...@@ -120,11 +120,12 @@ scan_file(char *fn, int segmentno) ...@@ -120,11 +120,12 @@ scan_file(char *fn, int segmentno)
progname, fn, blockno, csum, header->pd_checksum); progname, fn, blockno, csum, header->pd_checksum);
badblocks++; badblocks++;
} }
else if (debug)
fprintf(stderr, _("%s: checksum verified in file \"%s\", block %d: %X\n"),
progname, fn, blockno, csum);
} }
if (verbose)
fprintf(stderr,
_("%s: checksums verified in file \"%s\"\n"), progname, fn);
close(f); close(f);
} }
...@@ -208,6 +209,7 @@ main(int argc, char *argv[]) ...@@ -208,6 +209,7 @@ main(int argc, char *argv[])
{ {
static struct option long_options[] = { static struct option long_options[] = {
{"pgdata", required_argument, NULL, 'D'}, {"pgdata", required_argument, NULL, 'D'},
{"verbose", no_argument, NULL, 'v'},
{NULL, 0, NULL, 0} {NULL, 0, NULL, 0}
}; };
...@@ -234,12 +236,12 @@ main(int argc, char *argv[]) ...@@ -234,12 +236,12 @@ main(int argc, char *argv[])
} }
} }
while ((c = getopt_long(argc, argv, "D:r:d", long_options, &option_index)) != -1) while ((c = getopt_long(argc, argv, "D:r:v", long_options, &option_index)) != -1)
{ {
switch (c) switch (c)
{ {
case 'd': case 'v':
debug = true; verbose = true;
break; break;
case 'D': case 'D':
DataDir = optarg; DataDir = optarg;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment