Clean up some inconsistencies with GUC declarations
authorMichael Paquier <[email protected]>
Mon, 31 Oct 2022 03:44:48 +0000 (12:44 +0900)
committerMichael Paquier <[email protected]>
Mon, 31 Oct 2022 03:44:48 +0000 (12:44 +0900)
This is similar to 7d25958, and this commit takes care of all the
remaining inconsistencies between the initial value used in the C
variable associated to a GUC and its default value stored in the GUC
tables (as of pg_settings.boot_val).

Some of the initial values of the GUCs updated rely on a compile-time
default.  These are refactored so as the GUC table and its C declaration
use the same values.  This makes everything consistent with other
places, backend_flush_after, bgwriter_flush_after, port,
checkpoint_flush_after doing so already, for example.

Extracted from a larger patch by Peter Smith.  The spots updated in the
modules are from me.

Author: Peter Smith, Michael Paquier
Reviewed-by: Nathan Bossart, Tom Lane, Justin Pryzby
Discussion: https://postgr.es/m/CAHut+PtHE0XSfjjRQ6D4v7+dqzCw=d+1a64ujra4EX8aoc_Z+w@mail.gmail.com

19 files changed:
contrib/auth_delay/auth_delay.c
contrib/pg_prewarm/autoprewarm.c
contrib/pg_stat_statements/pg_stat_statements.c
contrib/pg_trgm/trgm_op.c
contrib/sepgsql/hooks.c
src/backend/access/transam/xact.c
src/backend/access/transam/xlog.c
src/backend/libpq/be-secure.c
src/backend/postmaster/postmaster.c
src/backend/storage/buffer/bufmgr.c
src/backend/storage/ipc/dsm_impl.c
src/backend/utils/adt/xml.c
src/backend/utils/cache/plancache.c
src/backend/utils/error/elog.c
src/backend/utils/init/globals.c
src/backend/utils/misc/guc_tables.c
src/backend/utils/misc/ps_status.c
src/include/storage/bufmgr.h
src/include/utils/ps_status.h

index c3d78e5020f2e53b30ab230edbe3484024be6764..4ca9b4afb1af22049b5e11feb2991ab390a9e4a0 100644 (file)
@@ -21,7 +21,7 @@
 PG_MODULE_MAGIC;
 
 /* GUC Variables */
-static int     auth_delay_milliseconds;
+static int     auth_delay_milliseconds = 0;
 
 /* Original Hook */
 static ClientAuthentication_hook_type original_client_auth_hook = NULL;
index 1843b1862e578e3a49e5461d82cb6a89e7c4f978..d02a6a1ba047ecb5c46d265a659432d95a1240be 100644 (file)
@@ -103,7 +103,7 @@ static AutoPrewarmSharedState *apw_state = NULL;
 
 /* GUC variables. */
 static bool autoprewarm = true; /* start worker? */
-static int     autoprewarm_interval;   /* dump interval */
+static int     autoprewarm_interval = 300; /* dump interval */
 
 /*
  * Module load callback.
index e5aa429995c6d7e2f0139232a34edd86d30b0491..0beb56a8044d8510d7f738fb0eb8ea380d608bfa 100644 (file)
@@ -283,11 +283,12 @@ static const struct config_enum_entry track_options[] =
        {NULL, 0, false}
 };
 
-static int     pgss_max;                       /* max # statements to track */
-static int     pgss_track;                     /* tracking level */
-static bool pgss_track_utility; /* whether to track utility commands */
-static bool pgss_track_planning;       /* whether to track planning duration */
-static bool pgss_save;                 /* whether to save stats across shutdown */
+static int     pgss_max = 5000;        /* max # statements to track */
+static int     pgss_track = PGSS_TRACK_TOP;    /* tracking level */
+static bool pgss_track_utility = true; /* whether to track utility commands */
+static bool pgss_track_planning = false;       /* whether to track planning
+                                                                                        * duration */
+static bool pgss_save = true;  /* whether to save stats across shutdown */
 
 
 #define pgss_enabled(level) \
index 154346398afea95aa33b5e3e2a0a815e2fa038a0..2c644bc1485be175f5ce52074a03260399a9b1c4 100644 (file)
@@ -68,7 +68,7 @@ _PG_init(void)
                                                         "Sets the threshold used by the % operator.",
                                                         "Valid range is 0.0 .. 1.0.",
                                                         &similarity_threshold,
-                                                        0.3,
+                                                        0.3f,
                                                         0.0,
                                                         1.0,
                                                         PGC_USERSET,
@@ -80,7 +80,7 @@ _PG_init(void)
                                                         "Sets the threshold used by the <% operator.",
                                                         "Valid range is 0.0 .. 1.0.",
                                                         &word_similarity_threshold,
-                                                        0.6,
+                                                        0.6f,
                                                         0.0,
                                                         1.0,
                                                         PGC_USERSET,
@@ -92,7 +92,7 @@ _PG_init(void)
                                                         "Sets the threshold used by the <<% operator.",
                                                         "Valid range is 0.0 .. 1.0.",
                                                         &strict_word_similarity_threshold,
-                                                        0.5,
+                                                        0.5f,
                                                         0.0,
                                                         1.0,
                                                         PGC_USERSET,
index 87fdd972c2788b9847b58bb6e2c41660e14c1c7f..363ac067003125b8d9247237966ff4a4ab06317a 100644 (file)
@@ -57,7 +57,7 @@ static sepgsql_context_info_t sepgsql_context_info;
 /*
  * GUC: sepgsql.permissive = (on|off)
  */
-static bool sepgsql_permissive;
+static bool sepgsql_permissive = false;
 
 bool
 sepgsql_get_permissive(void)
@@ -68,7 +68,7 @@ sepgsql_get_permissive(void)
 /*
  * GUC: sepgsql.debug_audit = (on|off)
  */
-static bool sepgsql_debug_audit;
+static bool sepgsql_debug_audit = false;
 
 bool
 sepgsql_get_debug_audit(void)
index 6cb7dab124acde404a78e1c08444c32b3af95052..883d6c0f7032535950f8861806b6329ab2e9a5e3 100644 (file)
@@ -75,7 +75,7 @@
  *     User-tweakable parameters
  */
 int                    DefaultXactIsoLevel = XACT_READ_COMMITTED;
-int                    XactIsoLevel;
+int                    XactIsoLevel = XACT_READ_COMMITTED;
 
 bool           DefaultXactReadOnly = false;
 bool           XactReadOnly;
index 8f10effe3a4c34e18e924aced41e5c38a80febf1..be54c23187456edc3ca7f554a3750d1230c0d8da 100644 (file)
@@ -131,7 +131,7 @@ bool                wal_init_zero = true;
 bool           wal_recycle = true;
 bool           log_checkpoints = true;
 int                    sync_method = DEFAULT_SYNC_METHOD;
-int                    wal_level = WAL_LEVEL_MINIMAL;
+int                    wal_level = WAL_LEVEL_REPLICA;
 int                    CommitDelay = 0;        /* precommit delay in microseconds */
 int                    CommitSiblings = 5; /* # concurrent xacts needed to sleep */
 int                    wal_retrieve_retry_interval = 5000;
index e3e54713e8136951a040ae789f4c7f95ed756c41..c8963572a7632fb38bcec7a60ca9325ba0580da3 100644 (file)
@@ -58,8 +58,8 @@ char     *SSLECDHCurve;
 /* GUC variable: if false, prefer client ciphers */
 bool           SSLPreferServerCiphers;
 
-int                    ssl_min_protocol_version;
-int                    ssl_max_protocol_version;
+int                    ssl_min_protocol_version = PG_TLS1_2_VERSION;
+int                    ssl_max_protocol_version = PG_TLS_ANY;
 
 /* ------------------------------------------------------------ */
 /*                      Procedures common to all secure sessions                       */
index 30fb576ac37dfdaefbfaca05e599bca2593d1d3e..0b637ba6a2a59f703a1a9ff2595afdb7e0930dd2 100644 (file)
@@ -196,7 +196,7 @@ BackgroundWorker *MyBgworkerEntry = NULL;
 
 
 /* The socket number we are listening for connections on */
-int                    PostPortNumber;
+int                    PostPortNumber = DEF_PGPORT;
 
 /* The directory names for Unix socket(s) */
 char      *Unix_socket_directories;
index 6b953814812921aee55c4ed5668e251f47b576f5..73d30bf6191cd236d232c65674195de74bcafbf7 100644 (file)
@@ -142,22 +142,22 @@ bool              track_io_timing = false;
  * for buffers not belonging to tablespaces that have their
  * effective_io_concurrency parameter set.
  */
-int                    effective_io_concurrency = 0;
+int                    effective_io_concurrency = DEFAULT_EFFECTIVE_IO_CONCURRENCY;
 
 /*
  * Like effective_io_concurrency, but used by maintenance code paths that might
  * benefit from a higher setting because they work on behalf of many sessions.
  * Overridden by the tablespace setting of the same name.
  */
-int                    maintenance_io_concurrency = 0;
+int                    maintenance_io_concurrency = DEFAULT_MAINTENANCE_IO_CONCURRENCY;
 
 /*
  * GUC variables about triggering kernel writeback for buffers written; OS
  * dependent defaults are set via the GUC mechanism.
  */
-int                    checkpoint_flush_after = 0;
-int                    bgwriter_flush_after = 0;
-int                    backend_flush_after = 0;
+int                    checkpoint_flush_after = DEFAULT_CHECKPOINT_FLUSH_AFTER;
+int                    bgwriter_flush_after = DEFAULT_BGWRITER_FLUSH_AFTER;
+int                    backend_flush_after = DEFAULT_BACKEND_FLUSH_AFTER;
 
 /* local state for StartBufferIO and related functions */
 static BufferDesc *InProgressBuf = NULL;
index e1b90c5de46d4605185bc0e81ab8c4bcec5f720b..6ddd46a4e70ee37ac45a9c6583ca79f0d6023c62 100644 (file)
@@ -109,7 +109,7 @@ const struct config_enum_entry dynamic_shared_memory_options[] = {
 };
 
 /* Implementation selector. */
-int                    dynamic_shared_memory_type;
+int                    dynamic_shared_memory_type = DEFAULT_DYNAMIC_SHARED_MEMORY_TYPE;
 
 /* Amount of space reserved for DSM segments in the main area. */
 int                    min_dynamic_shared_memory;
index e4f2adb1f904399a9849b253afb9439f95223354..3884babc1bdc69a5048a453228a3804934f45220 100644 (file)
@@ -94,8 +94,8 @@
 
 
 /* GUC variables */
-int                    xmlbinary;
-int                    xmloption;
+int                    xmlbinary = XMLBINARY_BASE64;
+int                    xmloption = XMLOPTION_CONTENT;
 
 #ifdef USE_LIBXML
 
index 0d6a295674873c06d0c86bca02bcab45fac4d166..cc943205d342eb38486da9d350d8940779c1adda 100644 (file)
@@ -116,7 +116,7 @@ static void PlanCacheObjectCallback(Datum arg, int cacheid, uint32 hashvalue);
 static void PlanCacheSysCallback(Datum arg, int cacheid, uint32 hashvalue);
 
 /* GUC parameter */
-int                    plan_cache_mode;
+int                    plan_cache_mode = PLAN_CACHE_MODE_AUTO;
 
 /*
  * InitPlanCache: initialize module during InitPostgres.
index 6e0a66c29ee98032ff61e304921ca220526060b6..2585e24845a9726973e1d3d485dccbf42c2f8fd7 100644 (file)
@@ -107,7 +107,7 @@ extern bool redirection_done;
 emit_log_hook_type emit_log_hook = NULL;
 
 /* GUC parameters */
-int                    Log_error_verbosity = PGERROR_VERBOSE;
+int                    Log_error_verbosity = PGERROR_DEFAULT;
 char      *Log_line_prefix = NULL; /* format for extra log line info */
 int                    Log_destination = LOG_DESTINATION_STDERR;
 char      *Log_destination_string = NULL;
index 1a5d29ac9badb68f2407839d7ebad29c64ba0494..00bceec8fa8ba1afbf8ffdfa06295b1d5ee4e3fd 100644 (file)
@@ -133,8 +133,8 @@ int                 max_parallel_maintenance_workers = 2;
  * MaxBackends is computed by PostmasterMain after modules have had a chance to
  * register background workers.
  */
-int                    NBuffers = 1000;
-int                    MaxConnections = 90;
+int                    NBuffers = 16384;
+int                    MaxConnections = 100;
 int                    max_worker_processes = 8;
 int                    max_parallel_workers = 8;
 int                    MaxBackends = 0;
index 05ab087934cedc420dbd321af7a207717a8070e8..836b49484a15444cf9eee184662a75ba4adb1362 100644 (file)
@@ -526,7 +526,7 @@ int                 ssl_renegotiation_limit;
  * This really belongs in pg_shmem.c, but is defined here so that it doesn't
  * need to be duplicated in all the different implementations of pg_shmem.c.
  */
-int                    huge_pages;
+int                    huge_pages = HUGE_PAGES_TRY;
 int                    huge_page_size;
 
 /*
@@ -543,7 +543,14 @@ static char *locale_ctype;
 static char *server_encoding_string;
 static char *server_version_string;
 static int     server_version_num;
-static int     syslog_facility;
+
+#ifdef HAVE_SYSLOG
+#define        DEFAULT_SYSLOG_FACILITY LOG_LOCAL0
+#else
+#define        DEFAULT_SYSLOG_FACILITY 0
+#endif
+static int     syslog_facility = DEFAULT_SYSLOG_FACILITY;
+
 static char *timezone_string;
 static char *log_timezone_string;
 static char *timezone_abbreviations_string;
@@ -559,7 +566,14 @@ static int shared_memory_size_in_huge_pages;
 static int     wal_block_size;
 static bool data_checksums;
 static bool integer_datetimes;
-static bool assert_enabled;
+
+#ifdef USE_ASSERT_CHECKING
+#define DEFAULT_ASSERT_ENABLED true
+#else
+#define DEFAULT_ASSERT_ENABLED false
+#endif
+static bool assert_enabled = DEFAULT_ASSERT_ENABLED;
+
 static char *recovery_target_timeline_string;
 static char *recovery_target_string;
 static char *recovery_target_xid_string;
@@ -1181,11 +1195,7 @@ struct config_bool ConfigureNamesBool[] =
                        GUC_NOT_IN_SAMPLE | GUC_DISALLOW_IN_FILE
                },
                &assert_enabled,
-#ifdef USE_ASSERT_CHECKING
-               true,
-#else
-               false,
-#endif
+               DEFAULT_ASSERT_ENABLED,
                NULL, NULL, NULL
        },
 
@@ -1357,11 +1367,7 @@ struct config_bool ConfigureNamesBool[] =
                        gettext_noop("Enables updating of the process title every time a new SQL command is received by the server.")
                },
                &update_process_title,
-#ifdef WIN32
-               false,
-#else
-               true,
-#endif
+               DEFAULT_UPDATE_PROCESS_TITLE,
                NULL, NULL, NULL
        },
 
@@ -2888,11 +2894,7 @@ struct config_int ConfigureNamesInt[] =
                        GUC_EXPLAIN
                },
                &effective_io_concurrency,
-#ifdef USE_PREFETCH
-               1,
-#else
-               0,
-#endif
+               DEFAULT_EFFECTIVE_IO_CONCURRENCY,
                0, MAX_IO_CONCURRENCY,
                check_effective_io_concurrency, NULL, NULL
        },
@@ -2906,11 +2908,7 @@ struct config_int ConfigureNamesInt[] =
                        GUC_EXPLAIN
                },
                &maintenance_io_concurrency,
-#ifdef USE_PREFETCH
-               10,
-#else
-               0,
-#endif
+               DEFAULT_MAINTENANCE_IO_CONCURRENCY,
                0, MAX_IO_CONCURRENCY,
                check_maintenance_io_concurrency, assign_maintenance_io_concurrency,
                NULL
@@ -4613,11 +4611,7 @@ struct config_enum ConfigureNamesEnum[] =
                        NULL
                },
                &syslog_facility,
-#ifdef HAVE_SYSLOG
-               LOG_LOCAL0,
-#else
-               0,
-#endif
+               DEFAULT_SYSLOG_FACILITY,
                syslog_facility_options,
                NULL, assign_syslog_facility, NULL
        },
index 8520ce76bbd3400bef35938c70f27fdefe296039..d81a67be797823c42df8f798afe19c6a23836211 100644 (file)
@@ -30,8 +30,9 @@
 #include "utils/ps_status.h"
 
 extern char **environ;
-bool           update_process_title = true;
 
+/* GUC variable */
+bool           update_process_title = DEFAULT_UPDATE_PROCESS_TITLE;
 
 /*
  * Alternative ways of updating ps display:
index 6f4dfa096028ce85c384731569316d27c45c39eb..e1bd22441b0ab623b8c86de21c1907ab2825fbfc 100644 (file)
@@ -69,6 +69,15 @@ extern PGDLLIMPORT bool zero_damaged_pages;
 extern PGDLLIMPORT int bgwriter_lru_maxpages;
 extern PGDLLIMPORT double bgwriter_lru_multiplier;
 extern PGDLLIMPORT bool track_io_timing;
+
+/* only applicable when prefetching is available */
+#ifdef USE_PREFETCH
+#define DEFAULT_EFFECTIVE_IO_CONCURRENCY 1
+#define DEFAULT_MAINTENANCE_IO_CONCURRENCY 10
+#else
+#define DEFAULT_EFFECTIVE_IO_CONCURRENCY 0
+#define DEFAULT_MAINTENANCE_IO_CONCURRENCY 0
+#endif
 extern PGDLLIMPORT int effective_io_concurrency;
 extern PGDLLIMPORT int maintenance_io_concurrency;
 
index bba463591f8484bc17393963290144d6af38da80..6953a326f12ad7ad3eba954eb81b546eb68f0f54 100644 (file)
 #ifndef PS_STATUS_H
 #define PS_STATUS_H
 
+/* disabled on Windows as the performance overhead can be significant */
+#ifdef WIN32
+#define DEFAULT_UPDATE_PROCESS_TITLE false
+#else
+#define DEFAULT_UPDATE_PROCESS_TITLE true
+#endif
+
 extern PGDLLIMPORT bool update_process_title;
 
 extern char **save_ps_display_args(int argc, char **argv);