22 #if SIZEOF_SIZE_T > 4 && SIZEOF_LONG > 4
23 #define MAX_KILOBYTES INT_MAX
25 #define MAX_KILOBYTES (INT_MAX / 1024)
33 #define PG_AUTOCONF_FILENAME "postgresql.auto.conf"
150 const char *calling_file,
int calling_lineno,
151 int depth,
int elevel,
154 int depth,
int elevel,
157 const char *calling_file,
int calling_lineno,
158 int depth,
int elevel,
191 typedef const char *(*GucShowHook) (void);
204 #define GUC_QUALIFIER_SEPARATOR '.'
210 #define GUC_LIST_INPUT 0x000001
211 #define GUC_LIST_QUOTE 0x000002
212 #define GUC_NO_SHOW_ALL 0x000004
213 #define GUC_NO_RESET 0x000008
214 #define GUC_NO_RESET_ALL 0x000010
215 #define GUC_EXPLAIN 0x000020
216 #define GUC_REPORT 0x000040
217 #define GUC_NOT_IN_SAMPLE 0x000080
218 #define GUC_DISALLOW_IN_FILE 0x000100
219 #define GUC_CUSTOM_PLACEHOLDER 0x000200
220 #define GUC_SUPERUSER_ONLY 0x000400
221 #define GUC_IS_NAME 0x000800
222 #define GUC_NOT_WHILE_SEC_REST 0x001000
223 #define GUC_DISALLOW_IN_AUTO_FILE \
225 #define GUC_RUNTIME_COMPUTED 0x004000
226 #define GUC_ALLOW_IN_PARALLEL 0x008000
228 #define GUC_UNIT_KB 0x01000000
229 #define GUC_UNIT_BLOCKS 0x02000000
230 #define GUC_UNIT_XBLOCKS 0x03000000
231 #define GUC_UNIT_MB 0x04000000
232 #define GUC_UNIT_BYTE 0x05000000
233 #define GUC_UNIT_MEMORY 0x0F000000
235 #define GUC_UNIT_MS 0x10000000
236 #define GUC_UNIT_S 0x20000000
237 #define GUC_UNIT_MIN 0x30000000
238 #define GUC_UNIT_TIME 0x70000000
240 #define GUC_UNIT (GUC_UNIT_MEMORY | GUC_UNIT_TIME)
249 #ifdef DEBUG_NODE_TESTS_ENABLED
250 extern PGDLLIMPORT bool Debug_copy_parse_plan_trees;
251 extern PGDLLIMPORT bool Debug_write_read_parse_plan_trees;
252 extern PGDLLIMPORT bool Debug_raw_expression_coverage_test;
300 #ifdef DEBUG_BOUNDED_SORT
328 const char *short_desc,
329 const char *long_desc,
339 const char *short_desc,
340 const char *long_desc,
352 const char *short_desc,
353 const char *long_desc,
365 const char *short_desc,
366 const char *long_desc,
368 const char *bootValue,
376 const char *short_desc,
377 const char *long_desc,
390 #define EmitWarningsOnPlaceholders(className) MarkGUCPrefixReserved(className)
393 bool restrict_privileged);
411 const char **hintmsg);
413 const char **hintmsg);
428 int elevel,
bool is_reload);
444 extern char *
guc_strdup(
int elevel,
const char *src);
449 extern void read_nondefault_variables(
void);
472 #define GUC_check_errmsg \
473 pre_format_elog_string(errno, TEXTDOMAIN), \
474 GUC_check_errmsg_string = format_elog_string
476 #define GUC_check_errdetail \
477 pre_format_elog_string(errno, TEXTDOMAIN), \
478 GUC_check_errdetail_string = format_elog_string
480 #define GUC_check_errhint \
481 pre_format_elog_string(errno, TEXTDOMAIN), \
482 GUC_check_errhint_string = format_elog_string
static Datum values[MAXATTR]
#define pg_attribute_nonnull(...)
void BeginReportingGUCOptions(void)
void GUC_check_errcode(int sqlerrcode)
void RestoreGUCState(void *gucstate)
PGDLLIMPORT const struct config_enum_entry archive_mode_options[]
void * guc_malloc(int elevel, size_t size)
PGDLLIMPORT const struct config_enum_entry recovery_target_action_options[]
bool(* GucBoolCheckHook)(bool *newval, void **extra, GucSource source)
int set_config_option_ext(const char *name, const char *value, GucContext context, GucSource source, Oid srole, GucAction action, bool changeVal, int elevel, bool is_reload)
PGDLLIMPORT bool AllowAlterSystem
PGDLLIMPORT int client_min_messages
bool parse_int(const char *value, int *result, int flags, const char **hintmsg)
void GetPGVariable(const char *name, DestReceiver *dest)
void FreeConfigVariables(ConfigVariable *list)
PGDLLIMPORT bool trace_sort
bool ParseConfigFp(FILE *fp, const char *config_file, int depth, int elevel, ConfigVariable **head_p, ConfigVariable **tail_p)
bool(* GucRealCheckHook)(double *newval, void **extra, GucSource source)
int NewGUCNestLevel(void)
PGDLLIMPORT int temp_file_limit
ArrayType * GUCArrayReset(ArrayType *array)
PGDLLIMPORT char * GUC_check_errhint_string
void ProcessGUCArray(ArrayType *array, GucContext context, GucSource source, GucAction action)
PGDLLIMPORT char * application_name
void SetConfigOption(const char *name, const char *value, GucContext context, GucSource source)
void(* GucStringAssignHook)(const char *newval, void *extra)
PGDLLIMPORT const struct config_enum_entry dynamic_shared_memory_options[]
void void void void DefineCustomStringVariable(const char *name, const char *short_desc, const char *long_desc, char **valueAddr, const char *bootValue, GucContext context, int flags, GucStringCheckHook check_hook, GucStringAssignHook assign_hook, GucShowHook show_hook) pg_attribute_nonnull(1
PGDLLIMPORT int tcp_keepalives_idle
bool(* GucEnumCheckHook)(int *newval, void **extra, GucSource source)
PGDLLIMPORT bool Debug_print_parse
pg_nodiscard void * guc_realloc(int elevel, void *old, size_t size)
void void void DefineCustomRealVariable(const char *name, const char *short_desc, const char *long_desc, double *valueAddr, double bootValue, double minValue, double maxValue, GucContext context, int flags, GucRealCheckHook check_hook, GucRealAssignHook assign_hook, GucShowHook show_hook) pg_attribute_nonnull(1
void(* GucBoolAssignHook)(bool newval, void *extra)
PGDLLIMPORT char * GUC_check_errdetail_string
PGDLLIMPORT char * backtrace_functions
PGDLLIMPORT bool Debug_print_rewritten
bool parse_real(const char *value, double *result, int flags, const char **hintmsg)
void(* GucEnumAssignHook)(int newval, void *extra)
config_handle * get_config_handle(const char *name)
PGDLLIMPORT int tcp_user_timeout
PGDLLIMPORT bool log_duration
const char * GetConfigOptionResetString(const char *name)
void SerializeGUCState(Size maxsize, char *start_address)
PGDLLIMPORT bool log_planner_stats
bool SelectConfigFiles(const char *userDoption, const char *progname)
PGDLLIMPORT char * HbaFileName
char * DeescapeQuotedString(const char *s)
PGDLLIMPORT int log_parameter_max_length
PGDLLIMPORT char * external_pid_file
void AlterSystemSetConfigFile(AlterSystemStmt *altersysstmt)
struct ConfigVariable ConfigVariable
PGDLLIMPORT int log_min_error_statement
const char *(* GucShowHook)(void)
Size EstimateGUCStateSpace(void)
void void DefineCustomIntVariable(const char *name, const char *short_desc, const char *long_desc, int *valueAddr, int bootValue, int minValue, int maxValue, GucContext context, int flags, GucIntCheckHook check_hook, GucIntAssignHook assign_hook, GucShowHook show_hook) pg_attribute_nonnull(1
PGDLLIMPORT bool log_btree_build_stats
TupleDesc GetPGVariableResultDesc(const char *name)
PGDLLIMPORT bool in_hot_standby_guc
PGDLLIMPORT char * ConfigFileName
PGDLLIMPORT int log_min_duration_statement
const char * get_config_unit_name(int flags)
void ParseLongOption(const char *string, char **name, char **value)
void ResetAllOptions(void)
void SetPGVariable(const char *name, List *args, bool is_local)
PGDLLIMPORT bool current_role_is_superuser
char * ExtractSetVariableArgs(VariableSetStmt *stmt)
PGDLLIMPORT char * IdentFileName
bool(* GucStringCheckHook)(char **newval, void **extra, GucSource source)
PGDLLIMPORT const struct config_enum_entry wal_sync_method_options[]
PGDLLIMPORT bool log_executor_stats
PGDLLIMPORT bool Debug_print_plan
void void void void void void MarkGUCPrefixReserved(const char *className)
void InitializeGUCOptions(void)
bool ParseConfigFile(const char *config_file, bool strict, const char *calling_file, int calling_lineno, int depth, int elevel, ConfigVariable **head_p, ConfigVariable **tail_p)
bool ParseConfigDirectory(const char *includedir, const char *calling_file, int calling_lineno, int depth, int elevel, ConfigVariable **head_p, ConfigVariable **tail_p)
void(* GucIntAssignHook)(int newval, void *extra)
const char * GetConfigOption(const char *name, bool missing_ok, bool restrict_privileged)
void(* GucRealAssignHook)(double newval, void *extra)
PGDLLIMPORT int log_min_duration_sample
PGDLLIMPORT char * role_string
void DefineCustomBoolVariable(const char *name, const char *short_desc, const char *long_desc, bool *valueAddr, bool bootValue, GucContext context, int flags, GucBoolCheckHook check_hook, GucBoolAssignHook assign_hook, GucShowHook show_hook) pg_attribute_nonnull(1
char * GetConfigOptionByName(const char *name, const char **varname, bool missing_ok)
PGDLLIMPORT bool Debug_pretty_print
ArrayType * GUCArrayAdd(ArrayType *array, const char *name, const char *value)
PGDLLIMPORT int tcp_keepalives_interval
PGDLLIMPORT int log_temp_files
void ExecSetVariableStmt(VariableSetStmt *stmt, bool isTopLevel)
PGDLLIMPORT int tcp_keepalives_count
bool(* GucIntCheckHook)(int *newval, void **extra, GucSource source)
void RestrictSearchPath(void)
PGDLLIMPORT bool check_function_bodies
int GetConfigOptionFlags(const char *name, bool missing_ok)
PGDLLIMPORT int num_temp_buffers
PGDLLIMPORT double log_xact_sample_rate
void check_GUC_name_for_parameter_acl(const char *name)
PGDLLIMPORT const struct config_enum_entry wal_level_options[]
int set_config_with_handle(const char *name, config_handle *handle, const char *value, GucContext context, GucSource source, Oid srole, GucAction action, bool changeVal, int elevel, bool is_reload)
char * convert_GUC_name_for_parameter_acl(const char *name)
ArrayType * GUCArrayDelete(ArrayType *array, const char *name)
char * guc_strdup(int elevel, const char *src)
PGDLLIMPORT bool log_statement_stats
void ProcessConfigFile(GucContext context)
void void void void void DefineCustomEnumVariable(const char *name, const char *short_desc, const char *long_desc, int *valueAddr, int bootValue, const struct config_enum_entry *options, GucContext context, int flags, GucEnumCheckHook check_hook, GucEnumAssignHook assign_hook, GucShowHook show_hook) pg_attribute_nonnull(1
PGDLLIMPORT bool log_parser_stats
void TransformGUCArray(ArrayType *array, List **names, List **values)
void ReportChangedGUCOptions(void)
PGDLLIMPORT int log_min_messages
void AtEOXact_GUC(bool isCommit, int nestLevel)
PGDLLIMPORT int log_parameter_max_length_on_error
PGDLLIMPORT char * event_source
int set_config_option(const char *name, const char *value, GucContext context, GucSource source, GucAction action, bool changeVal, int elevel, bool is_reload)
PGDLLIMPORT char * GUC_check_errmsg_string
PGDLLIMPORT double log_statement_sample_rate
PGDLLIMPORT char * cluster_name
static rewind_source * source
static char * config_file
static const char * userDoption
static pg_noinline void Size size
struct ConfigVariable * next