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');