1/*--------------------------------------------------------------------
5 * Static tables for the Grand Unified Configuration scheme.
7 * Many of these tables are const. However, ConfigureNamesBool[]
8 * and so on are not, because the structs in those arrays are actually
9 * the live per-variable state data that guc.c manipulates. While many of
10 * their fields are intended to be constant, some fields change at runtime.
13 * Copyright (c) 2000-2025, PostgreSQL Global Development Group
14 * Written by Peter Eisentraut <peter_e@gmx.net>.
17 * src/backend/utils/misc/guc_tables.c
19 *--------------------------------------------------------------------
109/* This value is normally passed in from the Makefile */
111 #define PG_KRB_SRVTAB ""
115 * Options for enum values defined in this module.
117 * NOTE! Option values may not contain double quotes!
127 "array length mismatch");
130 * We have different sets for client and server message level options because
131 * they sort slightly different (see "log" level), and because "fatal"/"panic"
132 * aren't sensible for client_min_messages.
135 {
"debug5",
DEBUG5,
false},
136 {
"debug4",
DEBUG4,
false},
137 {
"debug3",
DEBUG3,
false},
138 {
"debug2",
DEBUG2,
false},
139 {
"debug1",
DEBUG1,
false},
142 {
"info",
INFO,
true},
143 {
"notice",
NOTICE,
false},
145 {
"error",
ERROR,
false},
150 {
"debug5",
DEBUG5,
false},
151 {
"debug4",
DEBUG4,
false},
152 {
"debug3",
DEBUG3,
false},
153 {
"debug2",
DEBUG2,
false},
154 {
"debug1",
DEBUG1,
false},
156 {
"info",
INFO,
false},
157 {
"notice",
NOTICE,
false},
159 {
"error",
ERROR,
false},
161 {
"fatal",
FATAL,
false},
162 {
"panic",
PANIC,
false},
175 {
"disabled", -1,
false},
176 {
"debug5",
DEBUG5,
false},
177 {
"debug4",
DEBUG4,
false},
178 {
"debug3",
DEBUG3,
false},
179 {
"debug2",
DEBUG2,
false},
180 {
"debug1",
DEBUG1,
false},
183 {
"info",
INFO,
true},
184 {
"notice",
NOTICE,
false},
186 {
"error",
ERROR,
false},
191 "array length mismatch");
201 "array length mismatch");
212 "array length mismatch");
230 "array length mismatch");
234 {
"local0", LOG_LOCAL0,
false},
235 {
"local1", LOG_LOCAL1,
false},
236 {
"local2", LOG_LOCAL2,
false},
237 {
"local3", LOG_LOCAL3,
false},
238 {
"local4", LOG_LOCAL4,
false},
239 {
"local5", LOG_LOCAL5,
false},
240 {
"local6", LOG_LOCAL6,
false},
241 {
"local7", LOG_LOCAL7,
false},
256 "array length mismatch");
266 "array length mismatch");
275 "array length mismatch");
284 "array length mismatch");
287 * Although only "on", "off", and "safe_encoding" are documented, we
288 * accept all the likely variants of "on" and "off".
304 * Although only "on", "off", and "auto" are documented, we accept
305 * all the likely variants of "on" and "off".
322 * Although only "on", "off", and "partition" are documented, we
323 * accept all the likely variants of "on" and "off".
339 * Although only "on", "off", "remote_apply", "remote_write", and "local" are
340 * documented, we accept all the likely variants of "on" and "off".
358 * Although only "on", "off", "try" are documented, we accept all the likely
359 * variants of "on" and "off".
436 "array length mismatch");
488#if defined(HAVE_COPYFILE) && defined(COPYFILE_CLONE_FORCE) || defined(HAVE_COPY_FILE_RANGE)
495 * Options for enum values stored in other modules
504 * GUC option variables that are exported from this module
514#ifdef DEBUG_NODE_TESTS_ENABLED
515bool Debug_copy_parse_plan_trees;
516bool Debug_write_read_parse_plan_trees;
517bool Debug_raw_expression_coverage_test;
532 * This GUC exists solely for backward compatibility, check its definition for
569 * SSL renegotiation was been removed in PostgreSQL 9.5, but we tolerate it
570 * being set to zero (meaning never renegotiate) for backward compatibility.
571 * This avoids breaking compatibility with clients that have never supported
572 * renegotiation and therefore always try to zero it.
577 * This really belongs in pg_shmem.c, but is defined here so that it doesn't
578 * need to be duplicated in all the different implementations of pg_shmem.c.
585 * These variables are all dummies that don't do anything, except in some
586 * cases provide the value for SHOW to display. The real state is elsewhere
587 * and is kept in sync by assign_hooks.
600#define DEFAULT_SYSLOG_FACILITY LOG_LOCAL0
602 #define DEFAULT_SYSLOG_FACILITY 0
623#ifdef USE_ASSERT_CHECKING
624#define DEFAULT_ASSERT_ENABLED true
626 #define DEFAULT_ASSERT_ENABLED false
636/* should be static, but commands/variable.c needs to get at this */
639/* should be static, but guc.c needs to get at this */
644 * Displayable names for context types (enum GucContext)
646 * Note: these strings are deliberately not localized.
660 "array length mismatch");
663 * Displayable names for source types (enum GucSource)
665 * Note: these strings are deliberately not localized.
686 "array length mismatch");
689 * Displayable names for the groupings defined in enum config_group
744 "array length mismatch");
747 * Displayable names for GUC variable types (enum config_type)
749 * Note: these strings are deliberately not localized.
761 "array length mismatch");
764#include "utils/guc_tables.inc.c"
@ CONSTRAINT_EXCLUSION_OFF
@ CONSTRAINT_EXCLUSION_PARTITION
@ CONSTRAINT_EXCLUSION_ON
@ PASSWORD_TYPE_SCRAM_SHA_256
@ DATA_DIR_SYNC_METHOD_SYNCFS
@ DATA_DIR_SYNC_METHOD_FSYNC
static char * recovery_target_lsn_string
static char * client_encoding_string
static char * timezone_abbreviations_string
static const struct config_enum_entry stats_fetch_consistency[]
bool check_function_bodies
static int max_identifier_length
static const struct config_enum_entry password_encryption_options[]
static const struct config_enum_entry ssl_protocol_versions_info[]
const struct config_enum_entry recovery_target_action_options[]
static bool default_with_oids
bool Debug_print_raw_parse
static char * timezone_string
static const struct config_enum_entry debug_parallel_query_options[]
static char * server_version_string
int log_min_error_statement
static bool data_checksums
static const struct config_enum_entry file_copy_method_options[]
static const struct config_enum_entry syslog_facility_options[]
static const struct config_enum_entry icu_validation_level_options[]
static const struct config_enum_entry recovery_prefetch_options[]
static const struct config_enum_entry recovery_init_sync_method_options[]
const char *const GucContext_Names[]
static int ssl_renegotiation_limit
static int syslog_facility
static int max_function_args
int tcp_keepalives_interval
static int max_index_keys
static const struct config_enum_entry backslash_quote_options[]
static char * syslog_ident_str
#define DEFAULT_SYSLOG_FACILITY
const char *const GucSource_Names[]
double log_xact_sample_rate
#define DEFAULT_ASSERT_ENABLED
static const struct config_enum_entry shared_memory_options[]
static const struct config_enum_entry huge_pages_status_options[]
const char *const config_type_names[]
static char * server_encoding_string
static int wal_block_size
static const struct config_enum_entry log_statement_options[]
static const struct config_enum_entry plan_cache_mode_options[]
static const struct config_enum_entry wal_compression_options[]
static const struct config_enum_entry debug_logical_replication_streaming_options[]
static char * datestyle_string
static char * recovery_target_timeline_string
static char * restrict_nonsystem_relation_kind_string
int log_parameter_max_length_on_error
const struct config_enum_entry dynamic_shared_memory_options[]
static const struct config_enum_entry xmlbinary_options[]
int log_min_duration_statement
static char * recovery_target_xid_string
int log_min_duration_sample
bool log_btree_build_stats
static const struct config_enum_entry bytea_output_options[]
const struct config_enum_entry archive_mode_options[]
static const struct config_enum_entry huge_pages_options[]
static const struct config_enum_entry synchronous_commit_options[]
static char * recovery_target_string
static bool assert_enabled
static const struct config_enum_entry default_toast_compression_options[]
static char * log_timezone_string
static char * session_authorization_string
bool Debug_print_rewritten
static int shared_memory_size_in_huge_pages
static const struct config_enum_entry isolation_level_options[]
static const struct config_enum_entry log_error_verbosity_options[]
const struct config_enum_entry wal_sync_method_options[]
static int server_version_num
static const struct config_enum_entry intervalstyle_options[]
int log_parameter_max_length
const struct config_enum_entry wal_level_options[]
static const struct config_enum_entry client_message_level_options[]
bool current_role_is_superuser
static const struct config_enum_entry constraint_exclusion_options[]
static const struct config_enum_entry server_message_level_options[]
static const struct config_enum_entry compute_query_id_options[]
static char * recovery_target_name_string
static char * data_directory
StaticAssertDecl(lengthof(bytea_output_options)==(BYTEA_OUTPUT_HEX+2), "array length mismatch")
double log_statement_sample_rate
const char *const config_group_names[]
static bool integer_datetimes
static double phony_random_seed
static int num_os_semaphores
char * backtrace_functions
static int shared_memory_size_mb
static const struct config_enum_entry session_replication_role_options[]
static const struct config_enum_entry track_function_options[]
static const struct config_enum_entry xmloption_options[]
static char * debug_io_direct_string
@ RESOURCES_WORKER_PROCESSES
@ COMPAT_OPTIONS_PREVIOUS
@ REPLICATION_SUBSCRIBERS
#define INTSTYLE_SQL_STANDARD
#define INTSTYLE_POSTGRES_VERBOSE
#define INTSTYLE_ISO_8601
#define INTSTYLE_POSTGRES
@ BACKSLASH_QUOTE_SAFE_ENCODING
@ PGSTAT_FETCH_CONSISTENCY_NONE
@ PGSTAT_FETCH_CONSISTENCY_CACHE
@ PGSTAT_FETCH_CONSISTENCY_SNAPSHOT
@ PLAN_CACHE_MODE_FORCE_CUSTOM_PLAN
@ PLAN_CACHE_MODE_FORCE_GENERIC_PLAN
@ COMPUTE_QUERY_ID_REGRESS
@ DEBUG_LOGICAL_REP_STREAMING_IMMEDIATE
@ DEBUG_LOGICAL_REP_STREAMING_BUFFERED
#define TOAST_PGLZ_COMPRESSION
#define TOAST_LZ4_COMPRESSION
#define SESSION_REPLICATION_ROLE_REPLICA
#define SESSION_REPLICATION_ROLE_LOCAL
#define SESSION_REPLICATION_ROLE_ORIGIN
#define XACT_SERIALIZABLE
@ SYNCHRONOUS_COMMIT_LOCAL_FLUSH
@ SYNCHRONOUS_COMMIT_REMOTE_WRITE
@ SYNCHRONOUS_COMMIT_REMOTE_APPLY
#define SYNCHRONOUS_COMMIT_ON
#define XACT_READ_UNCOMMITTED
#define XACT_REPEATABLE_READ
#define XACT_READ_COMMITTED