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
This commit is contained in:
parent
c9ae7f704c
commit
6dd263cfaa
|
@ -199,6 +199,7 @@ Complete list of usable sgml source files in this directory.
|
|||
<!ENTITY pgarchivecleanup SYSTEM "pgarchivecleanup.sgml">
|
||||
<!ENTITY pgBasebackup SYSTEM "pg_basebackup.sgml">
|
||||
<!ENTITY pgbench SYSTEM "pgbench.sgml">
|
||||
<!ENTITY pgChecksums SYSTEM "pg_checksums.sgml">
|
||||
<!ENTITY pgConfig SYSTEM "pg_config-ref.sgml">
|
||||
<!ENTITY pgControldata SYSTEM "pg_controldata.sgml">
|
||||
<!ENTITY pgCtl SYSTEM "pg_ctl-ref.sgml">
|
||||
|
@ -210,7 +211,6 @@ Complete list of usable sgml source files in this directory.
|
|||
<!ENTITY pgResetwal SYSTEM "pg_resetwal.sgml">
|
||||
<!ENTITY pgRestore SYSTEM "pg_restore.sgml">
|
||||
<!ENTITY pgRewind SYSTEM "pg_rewind.sgml">
|
||||
<!ENTITY pgVerifyChecksums SYSTEM "pg_verify_checksums.sgml">
|
||||
<!ENTITY pgtestfsync SYSTEM "pgtestfsync.sgml">
|
||||
<!ENTITY pgtesttiming SYSTEM "pgtesttiming.sgml">
|
||||
<!ENTITY pgupgrade SYSTEM "pgupgrade.sgml">
|
||||
|
|
|
@ -1,27 +1,27 @@
|
|||
<!--
|
||||
doc/src/sgml/ref/pg_verify_checksums.sgml
|
||||
doc/src/sgml/ref/pg_checksums.sgml
|
||||
PostgreSQL documentation
|
||||
-->
|
||||
|
||||
<refentry id="pgverifychecksums">
|
||||
<indexterm zone="pgverifychecksums">
|
||||
<primary>pg_verify_checksums</primary>
|
||||
<refentry id="app-pgchecksums">
|
||||
<indexterm zone="app-pgchecksums">
|
||||
<primary>pg_checksums</primary>
|
||||
</indexterm>
|
||||
|
||||
<refmeta>
|
||||
<refentrytitle><application>pg_verify_checksums</application></refentrytitle>
|
||||
<refentrytitle><application>pg_checksums</application></refentrytitle>
|
||||
<manvolnum>1</manvolnum>
|
||||
<refmiscinfo>Application</refmiscinfo>
|
||||
</refmeta>
|
||||
|
||||
<refnamediv>
|
||||
<refname>pg_verify_checksums</refname>
|
||||
<refname>pg_checksums</refname>
|
||||
<refpurpose>verify data checksums in a <productname>PostgreSQL</productname> database cluster</refpurpose>
|
||||
</refnamediv>
|
||||
|
||||
<refsynopsisdiv>
|
||||
<cmdsynopsis>
|
||||
<command>pg_verify_checksums</command>
|
||||
<command>pg_checksums</command>
|
||||
<arg rep="repeat" choice="opt"><replaceable class="parameter">option</replaceable></arg>
|
||||
<group choice="opt">
|
||||
<group choice="opt">
|
||||
|
@ -33,12 +33,12 @@ PostgreSQL documentation
|
|||
</cmdsynopsis>
|
||||
</refsynopsisdiv>
|
||||
|
||||
<refsect1 id="r1-app-pg_verify_checksums-1">
|
||||
<refsect1 id="r1-app-pg_checksums-1">
|
||||
<title>Description</title>
|
||||
<para>
|
||||
<command>pg_verify_checksums</command> verifies data checksums in a
|
||||
<application>pg_checksums</application> verifies data checksums in a
|
||||
<productname>PostgreSQL</productname> cluster. The server must be shut
|
||||
down cleanly before running <application>pg_verify_checksums</application>.
|
||||
down cleanly before running <application>pg_checksums</application>.
|
||||
The exit status is zero if there are no checksum errors, otherwise nonzero.
|
||||
</para>
|
||||
</refsect1>
|
||||
|
@ -84,7 +84,7 @@ PostgreSQL documentation
|
|||
<term><option>--version</option></term>
|
||||
<listitem>
|
||||
<para>
|
||||
Print the <application>pg_verify_checksums</application> version and exit.
|
||||
Print the <application>pg_checksums</application> version and exit.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
@ -94,7 +94,7 @@ PostgreSQL documentation
|
|||
<term><option>--help</option></term>
|
||||
<listitem>
|
||||
<para>
|
||||
Show help about <application>pg_verify_checksums</application> command line
|
||||
Show help about <application>pg_checksums</application> command line
|
||||
arguments, and exit.
|
||||
</para>
|
||||
</listitem>
|
|
@ -276,6 +276,7 @@
|
|||
|
||||
&initdb;
|
||||
&pgarchivecleanup;
|
||||
&pgChecksums;
|
||||
&pgControldata;
|
||||
&pgCtl;
|
||||
&pgResetwal;
|
||||
|
@ -283,7 +284,6 @@
|
|||
&pgtestfsync;
|
||||
&pgtesttiming;
|
||||
&pgupgrade;
|
||||
&pgVerifyChecksums;
|
||||
&pgwaldump;
|
||||
&postgres;
|
||||
&postmaster;
|
||||
|
|
|
@ -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[] = {
|
||||
|
|
|
@ -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 \
|
||||
|
|
|
@ -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');
|
||||
|
|
|
@ -0,0 +1,3 @@
|
|||
/pg_checksums
|
||||
|
||||
/tmp_check/
|
|
@ -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:
|
|
@ -0,0 +1,4 @@
|
|||
# src/bin/pg_checksums/nls.mk
|
||||
CATALOG_NAME = pg_checksums
|
||||
AVAIL_LANGUAGES =
|
||||
GETTEXT_FILES = 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 <dirent.h>
|
||||
|
@ -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);
|
||||
}
|
|
@ -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');
|
|
@ -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\":/],
|
|
@ -1,3 +0,0 @@
|
|||
/pg_verify_checksums
|
||||
|
||||
/tmp_check/
|
|
@ -1,4 +0,0 @@
|
|||
# src/bin/pg_verify_checksums/nls.mk
|
||||
CATALOG_NAME = pg_verify_checksums
|
||||
AVAIL_LANGUAGES =
|
||||
GETTEXT_FILES = pg_verify_checksums.c
|
|
@ -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');
|
Loading…
Reference in New Issue