aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorPeter Eisentraut <peter@eisentraut.org>2024-10-16 08:45:09 +0200
committerPeter Eisentraut <peter@eisentraut.org>2024-10-16 08:48:10 +0200
commit04bec894a04cb0d32533f1522ab81b7016141ff1 (patch)
tree0fdb1a99f7c316c3a5715507bed82a56af9b37bc /src
parent67846550dc6d7d90db4d98cdd8a8440725ef5c65 (diff)
downloadpostgresql-04bec894a04cb0d32533f1522ab81b7016141ff1.tar.gz
postgresql-04bec894a04cb0d32533f1522ab81b7016141ff1.zip
initdb: Change default to using data checksums.
Checksums are now on by default. They can be disabled by the previously added option --no-data-checksums. Author: Greg Sabino Mullane <greg@turnstep.com> Reviewed-by: Nathan Bossart <nathandbossart@gmail.com> Reviewed-by: Peter Eisentraut <peter@eisentraut.org> Reviewed-by: Daniel Gustafsson <daniel@yesql.se> Discussion: https://www.postgresql.org/message-id/flat/CAKAnmmKwiMHik5AHmBEdf5vqzbOBbcwEPHo4-PioWeAbzwcTOQ@mail.gmail.com
Diffstat (limited to 'src')
-rw-r--r--src/bin/initdb/initdb.c2
-rw-r--r--src/bin/initdb/t/001_initdb.pl18
2 files changed, 11 insertions, 9 deletions
diff --git a/src/bin/initdb/initdb.c b/src/bin/initdb/initdb.c
index 34db43f47b7..9a91830783e 100644
--- a/src/bin/initdb/initdb.c
+++ b/src/bin/initdb/initdb.c
@@ -164,7 +164,7 @@ static bool noinstructions = false;
static bool do_sync = true;
static bool sync_only = false;
static bool show_setting = false;
-static bool data_checksums = false;
+static bool data_checksums = true;
static char *xlog_dir = NULL;
static int wal_segment_size_mb = (DEFAULT_XLOG_SEG_SIZE) / (1024 * 1024);
static DataDirSyncMethod sync_method = DATA_DIR_SYNC_METHOD_FSYNC;
diff --git a/src/bin/initdb/t/001_initdb.pl b/src/bin/initdb/t/001_initdb.pl
index 8072adb97fe..7520d3d0dda 100644
--- a/src/bin/initdb/t/001_initdb.pl
+++ b/src/bin/initdb/t/001_initdb.pl
@@ -69,16 +69,11 @@ mkdir $datadir;
}
}
-# Control file should tell that data checksums are disabled by default.
+# Control file should tell that data checksums are enabled by default.
command_like(
[ 'pg_controldata', $datadir ],
- qr/Data page checksum version:.*0/,
- 'checksums are disabled in control file');
-# 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_checksums', '-D', $datadir ],
- "pg_checksums fails with data checksum disabled");
+ qr/Data page checksum version:.*1/,
+ 'checksums are enabled in control file');
command_ok([ 'initdb', '-S', $datadir ], 'sync only');
command_fails([ 'initdb', $datadir ], 'existing data directory');
@@ -280,4 +275,11 @@ command_like(
qr/Data page checksum version:.*0/,
'checksums are disabled in control file');
+# pg_checksums fails with checksums disabled. This is
+# not part of the tests included in pg_checksums to save from
+# the creation of an extra instance.
+command_fails(
+ [ 'pg_checksums', '-D', $datadir_nochecksums ],
+ "pg_checksums fails with data checksum disabled");
+
done_testing();