From 6dd263cfaa8447470af4fae3f61c47438f91d71f Mon Sep 17 00:00:00 2001 From: Michael Paquier Date: Wed, 13 Mar 2019 10:43:20 +0900 Subject: [PATCH] Rename pg_verify_checksums to pg_checksums The current tool name is too restrictive and focuses only on verifying checksums. As more options to control checksums for an offline cluster are planned to be added, switch to a more generic name. Documentation as well as all past references to the tool are updated. Author: Michael Paquier Reviewed-by: Michael Banck, Fabien Coelho, Seigei Kornilov Discussion: https://postgr.es/m/20181221201616.GD4974@nighthawk.caipicrew.dd-dns.de --- doc/src/sgml/ref/allfiles.sgml | 2 +- ...erify_checksums.sgml => pg_checksums.sgml} | 24 +++++++++---------- doc/src/sgml/reference.sgml | 2 +- src/backend/replication/basebackup.c | 2 +- src/bin/Makefile | 2 +- src/bin/initdb/t/001_initdb.pl | 8 +++---- src/bin/pg_checksums/.gitignore | 3 +++ .../Makefile | 20 ++++++++-------- src/bin/pg_checksums/nls.mk | 4 ++++ .../pg_checksums.c} | 20 +++++++++------- src/bin/pg_checksums/t/001_basic.pl | 8 +++++++ .../t/002_actions.pl | 18 +++++++------- src/bin/pg_verify_checksums/.gitignore | 3 --- src/bin/pg_verify_checksums/nls.mk | 4 ---- src/bin/pg_verify_checksums/t/001_basic.pl | 8 ------- 15 files changed, 66 insertions(+), 62 deletions(-) rename doc/src/sgml/ref/{pg_verify_checksums.sgml => pg_checksums.sgml} (79%) create mode 100644 src/bin/pg_checksums/.gitignore rename src/bin/{pg_verify_checksums => pg_checksums}/Makefile (53%) create mode 100644 src/bin/pg_checksums/nls.mk rename src/bin/{pg_verify_checksums/pg_verify_checksums.c => pg_checksums/pg_checksums.c} (94%) create mode 100644 src/bin/pg_checksums/t/001_basic.pl rename src/bin/{pg_verify_checksums => pg_checksums}/t/002_actions.pl (89%) delete mode 100644 src/bin/pg_verify_checksums/.gitignore delete mode 100644 src/bin/pg_verify_checksums/nls.mk delete mode 100644 src/bin/pg_verify_checksums/t/001_basic.pl diff --git a/doc/src/sgml/ref/allfiles.sgml b/doc/src/sgml/ref/allfiles.sgml index c81c87ef41..8d91f3529e 100644 --- a/doc/src/sgml/ref/allfiles.sgml +++ b/doc/src/sgml/ref/allfiles.sgml @@ -199,6 +199,7 @@ Complete list of usable sgml source files in this directory. + @@ -210,7 +211,6 @@ Complete list of usable sgml source files in this directory. - diff --git a/doc/src/sgml/ref/pg_verify_checksums.sgml b/doc/src/sgml/ref/pg_checksums.sgml similarity index 79% rename from doc/src/sgml/ref/pg_verify_checksums.sgml rename to doc/src/sgml/ref/pg_checksums.sgml index 905b8f1222..6a47dda683 100644 --- a/doc/src/sgml/ref/pg_verify_checksums.sgml +++ b/doc/src/sgml/ref/pg_checksums.sgml @@ -1,27 +1,27 @@ - - - pg_verify_checksums + + + pg_checksums - pg_verify_checksums + pg_checksums 1 Application - pg_verify_checksums + pg_checksums verify data checksums in a PostgreSQL database cluster - pg_verify_checksums + pg_checksums option @@ -33,12 +33,12 @@ PostgreSQL documentation - + Description - pg_verify_checksums verifies data checksums in a + pg_checksums verifies data checksums in a PostgreSQL cluster. The server must be shut - down cleanly before running pg_verify_checksums. + down cleanly before running pg_checksums. The exit status is zero if there are no checksum errors, otherwise nonzero. @@ -84,7 +84,7 @@ PostgreSQL documentation - Print the pg_verify_checksums version and exit. + Print the pg_checksums version and exit. @@ -94,7 +94,7 @@ PostgreSQL documentation - Show help about pg_verify_checksums command line + Show help about pg_checksums command line arguments, and exit. diff --git a/doc/src/sgml/reference.sgml b/doc/src/sgml/reference.sgml index db4f4167e3..cef09dd38b 100644 --- a/doc/src/sgml/reference.sgml +++ b/doc/src/sgml/reference.sgml @@ -276,6 +276,7 @@ &initdb; &pgarchivecleanup; + &pgChecksums; &pgControldata; &pgCtl; &pgResetwal; @@ -283,7 +284,6 @@ &pgtestfsync; &pgtesttiming; &pgupgrade; - &pgVerifyChecksums; &pgwaldump; &postgres; &postmaster; diff --git a/src/backend/replication/basebackup.c b/src/backend/replication/basebackup.c index 6c324a6661..537f09e342 100644 --- a/src/backend/replication/basebackup.c +++ b/src/backend/replication/basebackup.c @@ -190,7 +190,7 @@ static const char *excludeFiles[] = /* * List of files excluded from checksum validation. * - * Note: this list should be kept in sync with what pg_verify_checksums.c + * Note: this list should be kept in sync with what pg_checksums.c * includes. */ static const char *const noChecksumFiles[] = { diff --git a/src/bin/Makefile b/src/bin/Makefile index c66bfa887e..903e58121f 100644 --- a/src/bin/Makefile +++ b/src/bin/Makefile @@ -17,6 +17,7 @@ SUBDIRS = \ initdb \ pg_archivecleanup \ pg_basebackup \ + pg_checksums \ pg_config \ pg_controldata \ pg_ctl \ @@ -26,7 +27,6 @@ SUBDIRS = \ pg_test_fsync \ pg_test_timing \ pg_upgrade \ - pg_verify_checksums \ pg_waldump \ pgbench \ psql \ diff --git a/src/bin/initdb/t/001_initdb.pl b/src/bin/initdb/t/001_initdb.pl index 759779adb2..8dfcd8752a 100644 --- a/src/bin/initdb/t/001_initdb.pl +++ b/src/bin/initdb/t/001_initdb.pl @@ -63,12 +63,12 @@ mkdir $datadir; command_like(['pg_controldata', $datadir], qr/Data page checksum version:.*0/, 'checksums are disabled in control file'); -# pg_verify_checksums fails with checksums disabled by default. This is -# not part of the tests included in pg_verify_checksums to save from +# pg_checksums fails with checksums disabled by default. This is +# not part of the tests included in pg_checksums to save from # the creation of an extra instance. command_fails( - [ 'pg_verify_checksums', '-D', $datadir], - "pg_verify_checksums fails with data checksum disabled"); + [ 'pg_checksums', '-D', $datadir], + "pg_checksums fails with data checksum disabled"); command_ok([ 'initdb', '-S', $datadir ], 'sync only'); command_fails([ 'initdb', $datadir ], 'existing data directory'); diff --git a/src/bin/pg_checksums/.gitignore b/src/bin/pg_checksums/.gitignore new file mode 100644 index 0000000000..7888625094 --- /dev/null +++ b/src/bin/pg_checksums/.gitignore @@ -0,0 +1,3 @@ +/pg_checksums + +/tmp_check/ diff --git a/src/bin/pg_verify_checksums/Makefile b/src/bin/pg_checksums/Makefile similarity index 53% rename from src/bin/pg_verify_checksums/Makefile rename to src/bin/pg_checksums/Makefile index ab6d3ea9e2..278b7a0f2e 100644 --- a/src/bin/pg_verify_checksums/Makefile +++ b/src/bin/pg_checksums/Makefile @@ -1,38 +1,38 @@ #------------------------------------------------------------------------- # -# Makefile for src/bin/pg_verify_checksums +# Makefile for src/bin/pg_checksums # # Copyright (c) 1998-2019, PostgreSQL Global Development Group # -# src/bin/pg_verify_checksums/Makefile +# src/bin/pg_checksums/Makefile # #------------------------------------------------------------------------- -PGFILEDESC = "pg_verify_checksums - verify data checksums in an offline cluster" +PGFILEDESC = "pg_checksums - verify data checksums in an offline cluster" PGAPPICON=win32 -subdir = src/bin/pg_verify_checksums +subdir = src/bin/pg_checksums top_builddir = ../../.. include $(top_builddir)/src/Makefile.global -OBJS= pg_verify_checksums.o $(WIN32RES) +OBJS= pg_checksums.o $(WIN32RES) -all: pg_verify_checksums +all: pg_checksums -pg_verify_checksums: $(OBJS) | submake-libpgport +pg_checksums: $(OBJS) | submake-libpgport $(CC) $(CFLAGS) $^ $(LDFLAGS) $(LDFLAGS_EX) $(LIBS) -o $@$(X) install: all installdirs - $(INSTALL_PROGRAM) pg_verify_checksums$(X) '$(DESTDIR)$(bindir)/pg_verify_checksums$(X)' + $(INSTALL_PROGRAM) pg_checksums$(X) '$(DESTDIR)$(bindir)/pg_checksums$(X)' installdirs: $(MKDIR_P) '$(DESTDIR)$(bindir)' uninstall: - rm -f '$(DESTDIR)$(bindir)/pg_verify_checksums$(X)' + rm -f '$(DESTDIR)$(bindir)/pg_checksums$(X)' clean distclean maintainer-clean: - rm -f pg_verify_checksums$(X) $(OBJS) + rm -f pg_checksums$(X) $(OBJS) rm -rf tmp_check check: diff --git a/src/bin/pg_checksums/nls.mk b/src/bin/pg_checksums/nls.mk new file mode 100644 index 0000000000..2748b18ef7 --- /dev/null +++ b/src/bin/pg_checksums/nls.mk @@ -0,0 +1,4 @@ +# src/bin/pg_checksums/nls.mk +CATALOG_NAME = pg_checksums +AVAIL_LANGUAGES = +GETTEXT_FILES = pg_checksums.c diff --git a/src/bin/pg_verify_checksums/pg_verify_checksums.c b/src/bin/pg_checksums/pg_checksums.c similarity index 94% rename from src/bin/pg_verify_checksums/pg_verify_checksums.c rename to src/bin/pg_checksums/pg_checksums.c index 4c7c055b31..6571c34211 100644 --- a/src/bin/pg_verify_checksums/pg_verify_checksums.c +++ b/src/bin/pg_checksums/pg_checksums.c @@ -1,12 +1,16 @@ -/* - * pg_verify_checksums +/*------------------------------------------------------------------------- * - * Verifies page level checksums in an offline cluster + * pg_checksums.c + * Verifies page level checksums in an offline cluster. * - * Copyright (c) 2010-2019, PostgreSQL Global Development Group + * Copyright (c) 2010-2019, PostgreSQL Global Development Group * - * src/bin/pg_verify_checksums/pg_verify_checksums.c + * IDENTIFICATION + * src/bin/pg_checksums/pg_checksums.c + * + *------------------------------------------------------------------------- */ + #include "postgres_fe.h" #include @@ -240,7 +244,7 @@ main(int argc, char *argv[]) int option_index; bool crc_ok; - set_pglocale_pgservice(argv[0], PG_TEXTDOMAIN("pg_verify_checksums")); + set_pglocale_pgservice(argv[0], PG_TEXTDOMAIN("pg_checksums")); progname = get_progname(argv[0]); @@ -253,7 +257,7 @@ main(int argc, char *argv[]) } if (strcmp(argv[1], "--version") == 0 || strcmp(argv[1], "-V") == 0) { - puts("pg_verify_checksums (PostgreSQL) " PG_VERSION); + puts("pg_checksums (PostgreSQL) " PG_VERSION); exit(0); } } @@ -318,7 +322,7 @@ main(int argc, char *argv[]) if (ControlFile->pg_control_version != PG_CONTROL_VERSION) { - fprintf(stderr, _("%s: cluster is not compatible with this version of pg_verify_checksums\n"), + fprintf(stderr, _("%s: cluster is not compatible with this version of pg_checksums\n"), progname); exit(1); } diff --git a/src/bin/pg_checksums/t/001_basic.pl b/src/bin/pg_checksums/t/001_basic.pl new file mode 100644 index 0000000000..4334c80606 --- /dev/null +++ b/src/bin/pg_checksums/t/001_basic.pl @@ -0,0 +1,8 @@ +use strict; +use warnings; +use TestLib; +use Test::More tests => 8; + +program_help_ok('pg_checksums'); +program_version_ok('pg_checksums'); +program_options_handling_ok('pg_checksums'); diff --git a/src/bin/pg_verify_checksums/t/002_actions.pl b/src/bin/pg_checksums/t/002_actions.pl similarity index 89% rename from src/bin/pg_verify_checksums/t/002_actions.pl rename to src/bin/pg_checksums/t/002_actions.pl index 74ad5ad723..97284e8930 100644 --- a/src/bin/pg_verify_checksums/t/002_actions.pl +++ b/src/bin/pg_checksums/t/002_actions.pl @@ -1,4 +1,4 @@ -# Do basic sanity checks supported by pg_verify_checksums using +# Do basic sanity checks supported by pg_checksums using # an initialized cluster. use strict; @@ -38,7 +38,7 @@ sub check_relation_corruption # Checksums are correct for single relfilenode as the table is not # corrupted yet. - command_ok(['pg_verify_checksums', '-D', $pgdata, + command_ok(['pg_checksums', '-D', $pgdata, '-r', $relfilenode_corrupted], "succeeds for single relfilenode on tablespace $tablespace with offline cluster"); @@ -49,7 +49,7 @@ sub check_relation_corruption close $file; # Checksum checks on single relfilenode fail - $node->command_checks_all([ 'pg_verify_checksums', '-D', $pgdata, '-r', + $node->command_checks_all([ 'pg_checksums', '-D', $pgdata, '-r', $relfilenode_corrupted], 1, [qr/Bad checksums:.*1/], @@ -57,7 +57,7 @@ sub check_relation_corruption "fails with corrupted data for single relfilenode on tablespace $tablespace"); # Global checksum checks fail as well - $node->command_checks_all([ 'pg_verify_checksums', '-D', $pgdata], + $node->command_checks_all([ 'pg_checksums', '-D', $pgdata], 1, [qr/Bad checksums:.*1/], [qr/checksum verification failed/], @@ -67,7 +67,7 @@ sub check_relation_corruption $node->start; $node->safe_psql('postgres', "DROP TABLE $table;"); $node->stop; - $node->command_ok(['pg_verify_checksums', '-D', $pgdata], + $node->command_ok(['pg_checksums', '-D', $pgdata], "succeeds again after table drop on tablespace $tablespace"); $node->start; @@ -101,12 +101,12 @@ mkdir "$pgdata/global/pgsql_tmp"; append_to_file "$pgdata/global/pgsql_tmp/1.1", "foo"; # Checksums pass on a newly-created cluster -command_ok(['pg_verify_checksums', '-D', $pgdata], +command_ok(['pg_checksums', '-D', $pgdata], "succeeds with offline cluster"); # Checks cannot happen with an online cluster $node->start; -command_fails(['pg_verify_checksums', '-D', $pgdata], +command_fails(['pg_checksums', '-D', $pgdata], "fails with online cluster"); # Check corruption of table on default tablespace. @@ -121,7 +121,7 @@ $node->safe_psql('postgres', "CREATE TABLESPACE ts_corrupt LOCATION '$tablespace_dir';"); check_relation_corruption($node, 'corrupt2', 'ts_corrupt'); -# Utility routine to check that pg_verify_checksums is able to detect +# Utility routine to check that pg_checksums is able to detect # correctly-named relation files filled with some corrupted data. sub fail_corrupt { @@ -133,7 +133,7 @@ sub fail_corrupt my $file_name = "$pgdata/global/$file"; append_to_file $file_name, "foo"; - $node->command_checks_all([ 'pg_verify_checksums', '-D', $pgdata], + $node->command_checks_all([ 'pg_checksums', '-D', $pgdata], 1, [qr/^$/], [qr/could not read block 0 in file.*$file\":/], diff --git a/src/bin/pg_verify_checksums/.gitignore b/src/bin/pg_verify_checksums/.gitignore deleted file mode 100644 index 0e5e569a54..0000000000 --- a/src/bin/pg_verify_checksums/.gitignore +++ /dev/null @@ -1,3 +0,0 @@ -/pg_verify_checksums - -/tmp_check/ diff --git a/src/bin/pg_verify_checksums/nls.mk b/src/bin/pg_verify_checksums/nls.mk deleted file mode 100644 index 893efaf0f0..0000000000 --- a/src/bin/pg_verify_checksums/nls.mk +++ /dev/null @@ -1,4 +0,0 @@ -# src/bin/pg_verify_checksums/nls.mk -CATALOG_NAME = pg_verify_checksums -AVAIL_LANGUAGES = -GETTEXT_FILES = pg_verify_checksums.c diff --git a/src/bin/pg_verify_checksums/t/001_basic.pl b/src/bin/pg_verify_checksums/t/001_basic.pl deleted file mode 100644 index 1fa2e12db2..0000000000 --- a/src/bin/pg_verify_checksums/t/001_basic.pl +++ /dev/null @@ -1,8 +0,0 @@ -use strict; -use warnings; -use TestLib; -use Test::More tests => 8; - -program_help_ok('pg_verify_checksums'); -program_version_ok('pg_verify_checksums'); -program_options_handling_ok('pg_verify_checksums');