Hi, I'd like to propose $subject, as embodied in the attached patch. This makes it possible to discover and fulfill a need for logical replication that can arise at a time when bouncing the server has become impractical, i.e. when there is already high demand on it.
Best, David. -- David Fetter <david(at)fetter(dot)org> http://fetter.org/ Phone: +1 415 235 3778 Remember to vote! Consider donating to Postgres: http://www.postgresql.org/about/donate
>From 8179603827107d4b4ec5fe5e893b274e839a0ac1 Mon Sep 17 00:00:00 2001 From: David Fetter <da...@fetter.org> Date: Sun, 7 Jun 2020 21:31:50 -0700 Subject: [PATCH v1] Bump default wal_level to logical To: hackers MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="------------2.26.2" This is a multi-part message in MIME format. --------------2.26.2 Content-Type: text/plain; charset=UTF-8; format=fixed Content-Transfer-Encoding: 8bit diff --git doc/src/sgml/config.sgml doc/src/sgml/config.sgml index aca8f73a50..08bb1d7fd7 100644 --- doc/src/sgml/config.sgml +++ doc/src/sgml/config.sgml @@ -2486,14 +2486,13 @@ include_dir 'conf.d' <listitem> <para> <varname>wal_level</varname> determines how much information is written to - the WAL. The default value is <literal>replica</literal>, which writes enough - data to support WAL archiving and replication, including running - read-only queries on a standby server. <literal>minimal</literal> removes all - logging except the information required to recover from a crash or - immediate shutdown. Finally, - <literal>logical</literal> adds information necessary to support logical - decoding. Each level includes the information logged at all lower - levels. This parameter can only be set at server start. + the WAL. The default value, <literal>logical</literal>, includes all + information necessary to support logical decoding. <literal>replica</literal> + writes enough data to support WAL archiving and replication, including running + read-only queries on a standby server. Finally, <literal>minimal</literal> + removes all logging except the information required to recover from a crash or + immediate shutdown. Each level includes the information logged at all lower levels. + This parameter can only be set at server start. </para> <para> In <literal>minimal</literal> level, no information is logged for diff --git src/backend/utils/misc/guc.c src/backend/utils/misc/guc.c index 2f3e0a70e0..8d27a9c2a4 100644 --- src/backend/utils/misc/guc.c +++ src/backend/utils/misc/guc.c @@ -4651,7 +4651,7 @@ static struct config_enum ConfigureNamesEnum[] = NULL }, &wal_level, - WAL_LEVEL_REPLICA, wal_level_options, + WAL_LEVEL_LOGICAL, wal_level_options, NULL, NULL, NULL }, diff --git src/backend/utils/misc/postgresql.conf.sample src/backend/utils/misc/postgresql.conf.sample index ac02bd0c00..d637133db6 100644 --- src/backend/utils/misc/postgresql.conf.sample +++ src/backend/utils/misc/postgresql.conf.sample @@ -192,7 +192,7 @@ # - Settings - -#wal_level = replica # minimal, replica, or logical +#wal_level = logical # minimal, replica, or logical # (change requires restart) #fsync = on # flush data to disk for crash safety # (turning this off can cause --------------2.26.2--