From 45d63168ddeb8bdf3ed29ca150f453ffcd051697 Mon Sep 17 00:00:00 2001 From: Andres Freund Date: Sun, 20 Feb 2022 12:20:42 -0800 Subject: [PATCH v1 1/5] Set default_toast_compression=lz4 if available. Makes initdb faster, generally a good idea, users shouldn't have to bother with this. Author: Justin Pryzby Discussion: https://postgr.es/m/20220216212952.GH31460@telsasoft.com --- src/backend/utils/misc/guc.c | 4 ++++ src/bin/initdb/initdb.c | 6 ++++++ doc/src/sgml/config.sgml | 4 +++- 3 files changed, 13 insertions(+), 1 deletion(-) diff --git a/src/backend/utils/misc/guc.c b/src/backend/utils/misc/guc.c index 01f373815e0..f502f9840f5 100644 --- a/src/backend/utils/misc/guc.c +++ b/src/backend/utils/misc/guc.c @@ -4727,7 +4727,11 @@ static struct config_enum ConfigureNamesEnum[] = NULL }, &default_toast_compression, +#ifdef USE_LZ4 + TOAST_LZ4_COMPRESSION, +#else TOAST_PGLZ_COMPRESSION, +#endif default_toast_compression_options, NULL, NULL, NULL }, diff --git a/src/bin/initdb/initdb.c b/src/bin/initdb/initdb.c index 97f15971e2b..73ccbf63207 100644 --- a/src/bin/initdb/initdb.c +++ b/src/bin/initdb/initdb.c @@ -1185,6 +1185,12 @@ setup_config(void) "#update_process_title = off"); #endif +#ifdef USE_LZ4 + conflines = replace_token(conflines, + "#default_toast_compression = 'pglz'", + "#default_toast_compression = 'lz4'"); +#endif + /* * Change password_encryption setting to md5 if md5 was chosen as an * authentication method, unless scram-sha-256 was also chosen. diff --git a/doc/src/sgml/config.sgml b/doc/src/sgml/config.sgml index d99bf38e677..97e78506b13 100644 --- a/doc/src/sgml/config.sgml +++ b/doc/src/sgml/config.sgml @@ -8536,7 +8536,9 @@ COPY postgres_log FROM '/full/path/to/logfile.csv' WITH csv; The supported compression methods are pglz and (if PostgreSQL was compiled with ) lz4. - The default is pglz. + The default is lz4 if available at the time + PostgreSQL was compiled, otherwise + pglz. -- 2.34.0