PostgreSQL Source Code git master
All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
guc_hooks.h
Go to the documentation of this file.
1/*-------------------------------------------------------------------------
2 *
3 * guc_hooks.h
4 * Declarations of per-variable callback functions used by GUC.
5 *
6 * These functions are scattered throughout the system, but we
7 * declare them all here to avoid having to propagate guc.h into
8 * a lot of unrelated header files.
9 *
10 * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group
11 *
12 * src/include/utils/guc_hooks.h
13 *
14 *-------------------------------------------------------------------------
15 */
16#ifndef GUC_HOOKS_H
17#define GUC_HOOKS_H 1
18
19#include "utils/guc.h"
20
21/*
22 * See guc.h for the typedefs that these hook functions should match
23 * (GucBoolCheckHook and so on).
24 *
25 * Please keep the declarations in order by GUC variable name.
26 */
27
28extern bool check_application_name(char **newval, void **extra,
30extern void assign_application_name(const char *newval, void *extra);
31extern const char *show_archive_command(void);
32extern bool check_autovacuum_work_mem(int *newval, void **extra,
34extern bool check_vacuum_buffer_usage_limit(int *newval, void **extra,
36extern bool check_backtrace_functions(char **newval, void **extra,
38extern void assign_backtrace_functions(const char *newval, void *extra);
39extern bool check_bonjour(bool *newval, void **extra, GucSource source);
40extern bool check_canonical_path(char **newval, void **extra, GucSource source);
41extern void assign_checkpoint_completion_target(double newval, void *extra);
42extern bool check_client_connection_check_interval(int *newval, void **extra,
44extern bool check_client_encoding(char **newval, void **extra, GucSource source);
45extern void assign_client_encoding(const char *newval, void *extra);
46extern bool check_cluster_name(char **newval, void **extra, GucSource source);
47extern bool check_commit_ts_buffers(int *newval, void **extra,
49extern const char *show_data_directory_mode(void);
50extern bool check_datestyle(char **newval, void **extra, GucSource source);
51extern void assign_datestyle(const char *newval, void *extra);
52extern bool check_debug_io_direct(char **newval, void **extra, GucSource source);
53extern void assign_debug_io_direct(const char *newval, void *extra);
54extern bool check_default_table_access_method(char **newval, void **extra,
56extern bool check_default_tablespace(char **newval, void **extra,
58extern bool check_default_text_search_config(char **newval, void **extra, GucSource source);
59extern void assign_default_text_search_config(const char *newval, void *extra);
60extern bool check_default_with_oids(bool *newval, void **extra,
62extern bool check_effective_io_concurrency(int *newval, void **extra,
64extern bool check_huge_page_size(int *newval, void **extra, GucSource source);
65extern const char *show_in_hot_standby(void);
66extern bool check_locale_messages(char **newval, void **extra, GucSource source);
67extern void assign_locale_messages(const char *newval, void *extra);
68extern bool check_locale_monetary(char **newval, void **extra, GucSource source);
69extern void assign_locale_monetary(const char *newval, void *extra);
70extern bool check_locale_numeric(char **newval, void **extra, GucSource source);
71extern void assign_locale_numeric(const char *newval, void *extra);
72extern bool check_locale_time(char **newval, void **extra, GucSource source);
73extern void assign_locale_time(const char *newval, void *extra);
74extern bool check_log_destination(char **newval, void **extra,
76extern void assign_log_destination(const char *newval, void *extra);
77extern const char *show_log_file_mode(void);
78extern bool check_log_stats(bool *newval, void **extra, GucSource source);
79extern bool check_log_timezone(char **newval, void **extra, GucSource source);
80extern void assign_log_timezone(const char *newval, void *extra);
81extern const char *show_log_timezone(void);
82extern bool check_maintenance_io_concurrency(int *newval, void **extra,
84extern void assign_maintenance_io_concurrency(int newval, void *extra);
85extern bool check_max_slot_wal_keep_size(int *newval, void **extra,
87extern void assign_max_wal_size(int newval, void *extra);
88extern bool check_max_stack_depth(int *newval, void **extra, GucSource source);
89extern void assign_max_stack_depth(int newval, void *extra);
90extern bool check_multixact_member_buffers(int *newval, void **extra,
92extern bool check_multixact_offset_buffers(int *newval, void **extra,
94extern bool check_notify_buffers(int *newval, void **extra, GucSource source);
95extern bool check_primary_slot_name(char **newval, void **extra,
97extern bool check_random_seed(double *newval, void **extra, GucSource source);
98extern void assign_random_seed(double newval, void *extra);
99extern const char *show_random_seed(void);
100extern bool check_recovery_prefetch(int *new_value, void **extra,
102extern void assign_recovery_prefetch(int new_value, void *extra);
103extern bool check_recovery_target(char **newval, void **extra,
105extern void assign_recovery_target(const char *newval, void *extra);
106extern bool check_recovery_target_lsn(char **newval, void **extra,
108extern void assign_recovery_target_lsn(const char *newval, void *extra);
109extern bool check_recovery_target_name(char **newval, void **extra,
111extern void assign_recovery_target_name(const char *newval, void *extra);
112extern bool check_recovery_target_time(char **newval, void **extra,
114extern void assign_recovery_target_time(const char *newval, void *extra);
115extern bool check_recovery_target_timeline(char **newval, void **extra,
117extern void assign_recovery_target_timeline(const char *newval, void *extra);
118extern bool check_recovery_target_xid(char **newval, void **extra,
120extern void assign_recovery_target_xid(const char *newval, void *extra);
121extern bool check_role(char **newval, void **extra, GucSource source);
122extern void assign_role(const char *newval, void *extra);
123extern const char *show_role(void);
124extern bool check_restrict_nonsystem_relation_kind(char **newval, void **extra,
126extern void assign_restrict_nonsystem_relation_kind(const char *newval, void *extra);
127extern bool check_search_path(char **newval, void **extra, GucSource source);
128extern void assign_search_path(const char *newval, void *extra);
129extern bool check_serial_buffers(int *newval, void **extra, GucSource source);
130extern bool check_session_authorization(char **newval, void **extra, GucSource source);
131extern void assign_session_authorization(const char *newval, void *extra);
132extern void assign_session_replication_role(int newval, void *extra);
133extern void assign_stats_fetch_consistency(int newval, void *extra);
134extern bool check_ssl(bool *newval, void **extra, GucSource source);
135extern bool check_stage_log_stats(bool *newval, void **extra, GucSource source);
136extern bool check_subtrans_buffers(int *newval, void **extra,
138extern bool check_synchronous_standby_names(char **newval, void **extra,
140extern void assign_synchronous_standby_names(const char *newval, void *extra);
141extern void assign_synchronous_commit(int newval, void *extra);
142extern void assign_syslog_facility(int newval, void *extra);
143extern void assign_syslog_ident(const char *newval, void *extra);
144extern void assign_tcp_keepalives_count(int newval, void *extra);
145extern const char *show_tcp_keepalives_count(void);
146extern void assign_tcp_keepalives_idle(int newval, void *extra);
147extern const char *show_tcp_keepalives_idle(void);
148extern void assign_tcp_keepalives_interval(int newval, void *extra);
149extern const char *show_tcp_keepalives_interval(void);
150extern void assign_tcp_user_timeout(int newval, void *extra);
151extern const char *show_tcp_user_timeout(void);
152extern bool check_temp_buffers(int *newval, void **extra, GucSource source);
153extern bool check_temp_tablespaces(char **newval, void **extra,
155extern void assign_temp_tablespaces(const char *newval, void *extra);
156extern bool check_timezone(char **newval, void **extra, GucSource source);
157extern void assign_timezone(const char *newval, void *extra);
158extern const char *show_timezone(void);
159extern bool check_timezone_abbreviations(char **newval, void **extra,
161extern void assign_timezone_abbreviations(const char *newval, void *extra);
162extern bool check_transaction_buffers(int *newval, void **extra, GucSource source);
163extern bool check_transaction_deferrable(bool *newval, void **extra, GucSource source);
164extern bool check_transaction_isolation(int *newval, void **extra, GucSource source);
165extern bool check_transaction_read_only(bool *newval, void **extra, GucSource source);
166extern void assign_transaction_timeout(int newval, void *extra);
167extern const char *show_unix_socket_permissions(void);
168extern bool check_wal_buffers(int *newval, void **extra, GucSource source);
169extern bool check_wal_consistency_checking(char **newval, void **extra,
171extern void assign_wal_consistency_checking(const char *newval, void *extra);
172extern bool check_wal_segment_size(int *newval, void **extra, GucSource source);
173extern void assign_wal_sync_method(int new_wal_sync_method, void *extra);
174extern bool check_synchronized_standby_slots(char **newval, void **extra,
176extern void assign_synchronized_standby_slots(const char *newval, void *extra);
177
178#endif /* GUC_HOOKS_H */
#define newval
GucSource
Definition: guc.h:108
void assign_wal_sync_method(int new_wal_sync_method, void *extra)
Definition: xlog.c:8641
void assign_application_name(const char *newval, void *extra)
Definition: variable.c:1106
void assign_syslog_facility(int newval, void *extra)
Definition: elog.c:2338
bool check_primary_slot_name(char **newval, void **extra, GucSource source)
bool check_bonjour(bool *newval, void **extra, GucSource source)
Definition: variable.c:1205
void assign_transaction_timeout(int newval, void *extra)
Definition: postgres.c:3558
void assign_recovery_target_xid(const char *newval, void *extra)
void assign_tcp_keepalives_count(int newval, void *extra)
Definition: pqcomm.c:2008
bool check_subtrans_buffers(int *newval, void **extra, GucSource source)
Definition: subtrans.c:254
void assign_syslog_ident(const char *newval, void *extra)
Definition: elog.c:2306
bool check_max_slot_wal_keep_size(int *newval, void **extra, GucSource source)
Definition: xlog.c:2223
bool check_recovery_target(char **newval, void **extra, GucSource source)
void assign_restrict_nonsystem_relation_kind(const char *newval, void *extra)
Definition: postgres.c:3627
bool check_maintenance_io_concurrency(int *newval, void **extra, GucSource source)
Definition: variable.c:1247
void assign_synchronized_standby_slots(const char *newval, void *extra)
Definition: slot.c:2557
void assign_session_authorization(const char *newval, void *extra)
Definition: variable.c:910
const char * show_tcp_keepalives_interval(void)
Definition: pqcomm.c:1995
bool check_transaction_deferrable(bool *newval, void **extra, GucSource source)
Definition: variable.c:622
bool check_canonical_path(char **newval, void **extra, GucSource source)
Definition: variable.c:1057
void assign_synchronous_commit(int newval, void *extra)
Definition: syncrep.c:1056
void assign_wal_consistency_checking(const char *newval, void *extra)
Definition: xlog.c:4757
bool check_transaction_isolation(int *newval, void **extra, GucSource source)
Definition: variable.c:584
bool check_default_with_oids(bool *newval, void **extra, GucSource source)
Definition: variable.c:1218
bool check_recovery_target_timeline(char **newval, void **extra, GucSource source)
void assign_synchronous_standby_names(const char *newval, void *extra)
Definition: syncrep.c:1050
void assign_timezone_abbreviations(const char *newval, void *extra)
Definition: variable.c:517
const char * show_tcp_keepalives_count(void)
Definition: pqcomm.c:2018
bool check_effective_io_concurrency(int *newval, void **extra, GucSource source)
Definition: variable.c:1233
bool check_max_stack_depth(int *newval, void **extra, GucSource source)
Definition: stack_depth.c:142
bool check_application_name(char **newval, void **extra, GucSource source)
Definition: variable.c:1078
void assign_search_path(const char *newval, void *extra)
Definition: namespace.c:4713
void assign_timezone(const char *newval, void *extra)
Definition: variable.c:381
void assign_locale_time(const char *newval, void *extra)
Definition: pg_locale.c:421
bool check_default_text_search_config(char **newval, void **extra, GucSource source)
Definition: ts_cache.c:602
bool check_role(char **newval, void **extra, GucSource source)
Definition: variable.c:931
void assign_debug_io_direct(const char *newval, void *extra)
Definition: fd.c:4050
bool check_cluster_name(char **newval, void **extra, GucSource source)
Definition: variable.c:1116
bool check_locale_time(char **newval, void **extra, GucSource source)
Definition: pg_locale.c:415
void assign_checkpoint_completion_target(double newval, void *extra)
Definition: xlog.c:2198
const char * show_random_seed(void)
Definition: variable.c:675
void assign_recovery_target(const char *newval, void *extra)
bool check_default_table_access_method(char **newval, void **extra, GucSource source)
Definition: tableamapi.c:105
void assign_backtrace_functions(const char *newval, void *extra)
Definition: elog.c:2226
bool check_log_stats(bool *newval, void **extra, GucSource source)
Definition: postgres.c:3543
bool check_default_tablespace(char **newval, void **extra, GucSource source)
Definition: tablespace.c:1091
const char * show_archive_command(void)
Definition: xlog.c:4810
bool check_vacuum_buffer_usage_limit(int *newval, void **extra, GucSource source)
Definition: vacuum.c:124
bool check_autovacuum_work_mem(int *newval, void **extra, GucSource source)
Definition: autovacuum.c:3326
bool check_backtrace_functions(char **newval, void **extra, GucSource source)
Definition: elog.c:2167
bool check_temp_buffers(int *newval, void **extra, GucSource source)
Definition: localbuf.c:704
bool check_session_authorization(char **newval, void **extra, GucSource source)
Definition: variable.c:813
const char * show_tcp_keepalives_idle(void)
Definition: pqcomm.c:1972
const char * show_log_file_mode(void)
Definition: variable.c:1178
bool check_transaction_read_only(bool *newval, void **extra, GucSource source)
Definition: variable.c:544
const char * show_in_hot_standby(void)
Definition: xlog.c:4822
bool check_huge_page_size(int *newval, void **extra, GucSource source)
Definition: sysv_shmem.c:578
void assign_stats_fetch_consistency(int newval, void *extra)
Definition: pgstat.c:2097
bool check_synchronized_standby_slots(char **newval, void **extra, GucSource source)
Definition: slot.c:2503
void assign_maintenance_io_concurrency(int newval, void *extra)
Definition: variable.c:1144
bool check_commit_ts_buffers(int *newval, void **extra, GucSource source)
Definition: commit_ts.c:584
bool check_log_destination(char **newval, void **extra, GucSource source)
Definition: elog.c:2235
bool check_transaction_buffers(int *newval, void **extra, GucSource source)
Definition: clog.c:821
void assign_max_wal_size(int newval, void *extra)
Definition: xlog.c:2191
bool check_timezone_abbreviations(char **newval, void **extra, GucSource source)
Definition: variable.c:485
void assign_recovery_target_name(const char *newval, void *extra)
bool check_locale_numeric(char **newval, void **extra, GucSource source)
Definition: pg_locale.c:403
const char * show_log_timezone(void)
Definition: variable.c:463
void assign_temp_tablespaces(const char *newval, void *extra)
Definition: tablespace.c:1306
void assign_recovery_target_time(const char *newval, void *extra)
bool check_recovery_target_xid(char **newval, void **extra, GucSource source)
void assign_locale_numeric(const char *newval, void *extra)
Definition: pg_locale.c:409
void assign_client_encoding(const char *newval, void *extra)
Definition: variable.c:784
bool check_recovery_target_time(char **newval, void **extra, GucSource source)
bool check_locale_messages(char **newval, void **extra, GucSource source)
Definition: pg_locale.c:437
void assign_role(const char *newval, void *extra)
Definition: variable.c:1024
void assign_tcp_keepalives_idle(int newval, void *extra)
Definition: pqcomm.c:1952
bool check_timezone(char **newval, void **extra, GucSource source)
Definition: variable.c:261
bool check_ssl(bool *newval, void **extra, GucSource source)
Definition: variable.c:1261
void assign_datestyle(const char *newval, void *extra)
Definition: variable.c:244
void assign_random_seed(double newval, void *extra)
Definition: variable.c:666
void assign_recovery_prefetch(int new_value, void *extra)
void assign_max_stack_depth(int newval, void *extra)
Definition: stack_depth.c:159
const char * show_role(void)
Definition: variable.c:1032
bool check_log_timezone(char **newval, void **extra, GucSource source)
Definition: variable.c:416
void assign_locale_messages(const char *newval, void *extra)
Definition: pg_locale.c:460
bool check_temp_tablespaces(char **newval, void **extra, GucSource source)
Definition: tablespace.c:1198
const char * show_tcp_user_timeout(void)
Definition: pqcomm.c:2041
bool check_random_seed(double *newval, void **extra, GucSource source)
Definition: variable.c:654
void assign_default_text_search_config(const char *newval, void *extra)
Definition: ts_cache.c:670
void assign_recovery_target_lsn(const char *newval, void *extra)
bool check_recovery_target_lsn(char **newval, void **extra, GucSource source)
bool check_wal_segment_size(int *newval, void **extra, GucSource source)
Definition: xlog.c:2205
void assign_tcp_user_timeout(int newval, void *extra)
Definition: pqcomm.c:2031
const char * show_unix_socket_permissions(void)
Definition: variable.c:1190
void assign_session_replication_role(int newval, void *extra)
Definition: trigger.c:6585
const char * show_timezone(void)
Definition: variable.c:390
bool check_client_connection_check_interval(int *newval, void **extra, GucSource source)
Definition: postgres.c:3508
bool check_wal_consistency_checking(char **newval, void **extra, GucSource source)
Definition: xlog.c:4672
bool check_serial_buffers(int *newval, void **extra, GucSource source)
Definition: predicate.c:847
bool check_datestyle(char **newval, void **extra, GucSource source)
Definition: variable.c:52
bool check_search_path(char **newval, void **extra, GucSource source)
Definition: namespace.c:4657
bool check_client_encoding(char **newval, void **extra, GucSource source)
Definition: variable.c:686
bool check_synchronous_standby_names(char **newval, void **extra, GucSource source)
Definition: syncrep.c:991
bool check_wal_buffers(int *newval, void **extra, GucSource source)
Definition: xlog.c:4637
bool check_restrict_nonsystem_relation_kind(char **newval, void **extra, GucSource source)
Definition: postgres.c:3577
bool check_recovery_target_name(char **newval, void **extra, GucSource source)
void assign_tcp_keepalives_interval(int newval, void *extra)
Definition: pqcomm.c:1985
void assign_locale_monetary(const char *newval, void *extra)
Definition: pg_locale.c:397
bool check_multixact_offset_buffers(int *newval, void **extra, GucSource source)
Definition: multixact.c:2014
void assign_recovery_target_timeline(const char *newval, void *extra)
bool check_recovery_prefetch(int *new_value, void **extra, GucSource source)
const char * show_data_directory_mode(void)
Definition: variable.c:1166
void assign_log_timezone(const char *newval, void *extra)
Definition: variable.c:454
bool check_multixact_member_buffers(int *newval, void **extra, GucSource source)
Definition: multixact.c:2023
bool check_debug_io_direct(char **newval, void **extra, GucSource source)
Definition: fd.c:3965
bool check_notify_buffers(int *newval, void **extra, GucSource source)
Definition: async.c:2394
bool check_locale_monetary(char **newval, void **extra, GucSource source)
Definition: pg_locale.c:391
void assign_log_destination(const char *newval, void *extra)
Definition: elog.c:2297
bool check_stage_log_stats(bool *newval, void **extra, GucSource source)
Definition: postgres.c:3529
static rewind_source * source
Definition: pg_rewind.c:89