summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Paquier2022-10-31 03:44:48 +0000
committerMichael Paquier2022-10-31 03:44:48 +0000
commitd9d873bac67047cfacc9f5ef96ee488f2cb0f1c3 (patch)
tree5ba639609f866df4c3a3c5b4aa83af75844b6f36
parenta9f8ca6005f1441b4e28272f744fb01fbc14b29f (diff)
Clean up some inconsistencies with GUC declarations
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
-rw-r--r--contrib/auth_delay/auth_delay.c2
-rw-r--r--contrib/pg_prewarm/autoprewarm.c2
-rw-r--r--contrib/pg_stat_statements/pg_stat_statements.c11
-rw-r--r--contrib/pg_trgm/trgm_op.c6
-rw-r--r--contrib/sepgsql/hooks.c4
-rw-r--r--src/backend/access/transam/xact.c2
-rw-r--r--src/backend/access/transam/xlog.c2
-rw-r--r--src/backend/libpq/be-secure.c4
-rw-r--r--src/backend/postmaster/postmaster.c2
-rw-r--r--src/backend/storage/buffer/bufmgr.c10
-rw-r--r--src/backend/storage/ipc/dsm_impl.c2
-rw-r--r--src/backend/utils/adt/xml.c4
-rw-r--r--src/backend/utils/cache/plancache.c2
-rw-r--r--src/backend/utils/error/elog.c2
-rw-r--r--src/backend/utils/init/globals.c4
-rw-r--r--src/backend/utils/misc/guc_tables.c50
-rw-r--r--src/backend/utils/misc/ps_status.c3
-rw-r--r--src/include/storage/bufmgr.h9
-rw-r--r--src/include/utils/ps_status.h7
19 files changed, 70 insertions, 58 deletions
diff --git a/contrib/auth_delay/auth_delay.c b/contrib/auth_delay/auth_delay.c
index c3d78e5020f..4ca9b4afb1a 100644
--- a/contrib/auth_delay/auth_delay.c
+++ b/contrib/auth_delay/auth_delay.c
@@ -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;
diff --git a/contrib/pg_prewarm/autoprewarm.c b/contrib/pg_prewarm/autoprewarm.c
index 1843b1862e5..d02a6a1ba04 100644
--- a/contrib/pg_prewarm/autoprewarm.c
+++ b/contrib/pg_prewarm/autoprewarm.c
@@ -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.
diff --git a/contrib/pg_stat_statements/pg_stat_statements.c b/contrib/pg_stat_statements/pg_stat_statements.c
index e5aa429995c..0beb56a8044 100644
--- a/contrib/pg_stat_statements/pg_stat_statements.c
+++ b/contrib/pg_stat_statements/pg_stat_statements.c
@@ -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) \
diff --git a/contrib/pg_trgm/trgm_op.c b/contrib/pg_trgm/trgm_op.c
index 154346398af..2c644bc1485 100644
--- a/contrib/pg_trgm/trgm_op.c
+++ b/contrib/pg_trgm/trgm_op.c
@@ -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,
diff --git a/contrib/sepgsql/hooks.c b/contrib/sepgsql/hooks.c
index 87fdd972c27..363ac067003 100644
--- a/contrib/sepgsql/hooks.c
+++ b/contrib/sepgsql/hooks.c
@@ -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)
diff --git a/src/backend/access/transam/xact.c b/src/backend/access/transam/xact.c
index 6cb7dab124a..883d6c0f703 100644
--- a/src/backend/access/transam/xact.c
+++ b/src/backend/access/transam/xact.c
@@ -75,7 +75,7 @@
* User-tweakable parameters
*/
int DefaultXactIsoLevel = XACT_READ_COMMITTED;
-int XactIsoLevel;
+int XactIsoLevel = XACT_READ_COMMITTED;
bool DefaultXactReadOnly = false;
bool XactReadOnly;
diff --git a/src/backend/access/transam/xlog.c b/src/backend/access/transam/xlog.c
index 8f10effe3a4..be54c231874 100644
--- a/src/backend/access/transam/xlog.c
+++ b/src/backend/access/transam/xlog.c
@@ -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;
diff --git a/src/backend/libpq/be-secure.c b/src/backend/libpq/be-secure.c
index e3e54713e81..c8963572a76 100644
--- a/src/backend/libpq/be-secure.c
+++ b/src/backend/libpq/be-secure.c
@@ -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 */
diff --git a/src/backend/postmaster/postmaster.c b/src/backend/postmaster/postmaster.c
index 30fb576ac37..0b637ba6a2a 100644
--- a/src/backend/postmaster/postmaster.c
+++ b/src/backend/postmaster/postmaster.c
@@ -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;
diff --git a/src/backend/storage/buffer/bufmgr.c b/src/backend/storage/buffer/bufmgr.c
index 6b953814812..73d30bf6191 100644
--- a/src/backend/storage/buffer/bufmgr.c
+++ b/src/backend/storage/buffer/bufmgr.c
@@ -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;
diff --git a/src/backend/storage/ipc/dsm_impl.c b/src/backend/storage/ipc/dsm_impl.c
index e1b90c5de46..6ddd46a4e70 100644
--- a/src/backend/storage/ipc/dsm_impl.c
+++ b/src/backend/storage/ipc/dsm_impl.c
@@ -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;
diff --git a/src/backend/utils/adt/xml.c b/src/backend/utils/adt/xml.c
index e4f2adb1f90..3884babc1bd 100644
--- a/src/backend/utils/adt/xml.c
+++ b/src/backend/utils/adt/xml.c
@@ -94,8 +94,8 @@
/* GUC variables */
-int xmlbinary;
-int xmloption;
+int xmlbinary = XMLBINARY_BASE64;
+int xmloption = XMLOPTION_CONTENT;
#ifdef USE_LIBXML
diff --git a/src/backend/utils/cache/plancache.c b/src/backend/utils/cache/plancache.c
index 0d6a2956748..cc943205d34 100644
--- a/src/backend/utils/cache/plancache.c
+++ b/src/backend/utils/cache/plancache.c
@@ -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.
diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 6e0a66c29ee..2585e24845a 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -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;
diff --git a/src/backend/utils/init/globals.c b/src/backend/utils/init/globals.c
index 1a5d29ac9ba..00bceec8fa8 100644
--- a/src/backend/utils/init/globals.c
+++ b/src/backend/utils/init/globals.c
@@ -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;
diff --git a/src/backend/utils/misc/guc_tables.c b/src/backend/utils/misc/guc_tables.c
index 05ab087934c..836b49484a1 100644
--- a/src/backend/utils/misc/guc_tables.c
+++ b/src/backend/utils/misc/guc_tables.c
@@ -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
},
diff --git a/src/backend/utils/misc/ps_status.c b/src/backend/utils/misc/ps_status.c
index 8520ce76bbd..d81a67be797 100644
--- a/src/backend/utils/misc/ps_status.c
+++ b/src/backend/utils/misc/ps_status.c
@@ -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:
diff --git a/src/include/storage/bufmgr.h b/src/include/storage/bufmgr.h
index 6f4dfa09602..e1bd22441b0 100644
--- a/src/include/storage/bufmgr.h
+++ b/src/include/storage/bufmgr.h
@@ -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;
diff --git a/src/include/utils/ps_status.h b/src/include/utils/ps_status.h
index bba463591f8..6953a326f12 100644
--- a/src/include/utils/ps_status.h
+++ b/src/include/utils/ps_status.h
@@ -12,6 +12,13 @@
#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);