diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/bin/initdb/initdb.c | 5 | ||||
-rw-r--r-- | src/bin/initdb/t/001_initdb.pl | 12 |
2 files changed, 17 insertions, 0 deletions
diff --git a/src/bin/initdb/initdb.c b/src/bin/initdb/initdb.c index f00718a0150..eac6cbd8e51 100644 --- a/src/bin/initdb/initdb.c +++ b/src/bin/initdb/initdb.c @@ -2466,6 +2466,7 @@ usage(const char *progname) " set builtin locale name for new databases\n")); printf(_(" --locale-provider={builtin|libc|icu}\n" " set default locale provider for new databases\n")); + printf(_(" --no-data-checksums do not use data page checksums\n")); printf(_(" --pwfile=FILE read password for the new superuser from file\n")); printf(_(" -T, --text-search-config=CFG\n" " default text search configuration\n")); @@ -3128,6 +3129,7 @@ main(int argc, char *argv[]) {"icu-locale", required_argument, NULL, 17}, {"icu-rules", required_argument, NULL, 18}, {"sync-method", required_argument, NULL, 19}, + {"no-data-checksums", no_argument, NULL, 20}, {NULL, 0, NULL, 0} }; @@ -3319,6 +3321,9 @@ main(int argc, char *argv[]) if (!parse_sync_method(optarg, &sync_method)) exit(1); break; + case 20: + data_checksums = false; + break; default: /* getopt_long already emitted a complaint */ pg_log_error_hint("Try \"%s --help\" for more information.", progname); diff --git a/src/bin/initdb/t/001_initdb.pl b/src/bin/initdb/t/001_initdb.pl index 06a35ac0b73..8072adb97fe 100644 --- a/src/bin/initdb/t/001_initdb.pl +++ b/src/bin/initdb/t/001_initdb.pl @@ -268,4 +268,16 @@ ok($conf !~ qr/^WORK_MEM = /m, "WORK_MEM should not be configured"); ok($conf !~ qr/^Work_Mem = /m, "Work_Mem should not be configured"); ok($conf =~ qr/^work_mem = 512/m, "work_mem should be in config"); +# Test the no-data-checksums flag +my $datadir_nochecksums = "$tempdir/data_no_checksums"; + +command_ok([ 'initdb', '--no-data-checksums', $datadir_nochecksums ], + 'successful creation without data checksums'); + +# Control file should tell that data checksums are disabled. +command_like( + [ 'pg_controldata', $datadir_nochecksums ], + qr/Data page checksum version:.*0/, + 'checksums are disabled in control file'); + done_testing(); |