PostgreSQL Source Code  git master
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
19 #include "utils/guc.h"
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  */
28 extern bool check_application_name(char **newval, void **extra,
30 extern void assign_application_name(const char *newval, void *extra);
31 extern const char *show_archive_command(void);
32 extern bool check_autovacuum_max_workers(int *newval, void **extra,
34 extern bool check_autovacuum_work_mem(int *newval, void **extra,
36 extern bool check_vacuum_buffer_usage_limit(int *newval, void **extra,
38 extern bool check_backtrace_functions(char **newval, void **extra,
40 extern void assign_backtrace_functions(const char *newval, void *extra);
41 extern bool check_bonjour(bool *newval, void **extra, GucSource source);
42 extern bool check_canonical_path(char **newval, void **extra, GucSource source);
43 extern void assign_checkpoint_completion_target(double newval, void *extra);
44 extern bool check_client_connection_check_interval(int *newval, void **extra,
46 extern bool check_client_encoding(char **newval, void **extra, GucSource source);
47 extern void assign_client_encoding(const char *newval, void *extra);
48 extern bool check_cluster_name(char **newval, void **extra, GucSource source);
49 extern bool check_commit_ts_buffers(int *newval, void **extra,
51 extern const char *show_data_directory_mode(void);
52 extern bool check_datestyle(char **newval, void **extra, GucSource source);
53 extern void assign_datestyle(const char *newval, void *extra);
54 extern bool check_debug_io_direct(char **newval, void **extra, GucSource source);
55 extern void assign_debug_io_direct(const char *newval, void *extra);
56 extern bool check_default_table_access_method(char **newval, void **extra,
58 extern bool check_default_tablespace(char **newval, void **extra,
60 extern bool check_default_text_search_config(char **newval, void **extra, GucSource source);
61 extern void assign_default_text_search_config(const char *newval, void *extra);
62 extern bool check_default_with_oids(bool *newval, void **extra,
64 extern bool check_effective_io_concurrency(int *newval, void **extra,
66 extern bool check_huge_page_size(int *newval, void **extra, GucSource source);
67 extern const char *show_in_hot_standby(void);
68 extern bool check_locale_messages(char **newval, void **extra, GucSource source);
69 extern void assign_locale_messages(const char *newval, void *extra);
70 extern bool check_locale_monetary(char **newval, void **extra, GucSource source);
71 extern void assign_locale_monetary(const char *newval, void *extra);
72 extern bool check_locale_numeric(char **newval, void **extra, GucSource source);
73 extern void assign_locale_numeric(const char *newval, void *extra);
74 extern bool check_locale_time(char **newval, void **extra, GucSource source);
75 extern void assign_locale_time(const char *newval, void *extra);
76 extern bool check_log_destination(char **newval, void **extra,
78 extern void assign_log_destination(const char *newval, void *extra);
79 extern const char *show_log_file_mode(void);
80 extern bool check_log_stats(bool *newval, void **extra, GucSource source);
81 extern bool check_log_timezone(char **newval, void **extra, GucSource source);
82 extern void assign_log_timezone(const char *newval, void *extra);
83 extern const char *show_log_timezone(void);
84 extern bool check_maintenance_io_concurrency(int *newval, void **extra,
86 extern void assign_maintenance_io_concurrency(int newval, void *extra);
87 extern bool check_max_connections(int *newval, void **extra, GucSource source);
88 extern bool check_max_wal_senders(int *newval, void **extra, GucSource source);
89 extern bool check_max_slot_wal_keep_size(int *newval, void **extra,
91 extern void assign_max_wal_size(int newval, void *extra);
92 extern bool check_max_worker_processes(int *newval, void **extra,
94 extern bool check_max_stack_depth(int *newval, void **extra, GucSource source);
95 extern void assign_max_stack_depth(int newval, void *extra);
96 extern bool check_multixact_member_buffers(int *newval, void **extra,
98 extern bool check_multixact_offset_buffers(int *newval, void **extra,
100 extern bool check_notify_buffers(int *newval, void **extra, GucSource source);
101 extern bool check_primary_slot_name(char **newval, void **extra,
102  GucSource source);
103 extern bool check_random_seed(double *newval, void **extra, GucSource source);
104 extern void assign_random_seed(double newval, void *extra);
105 extern const char *show_random_seed(void);
106 extern bool check_recovery_prefetch(int *new_value, void **extra,
107  GucSource source);
108 extern void assign_recovery_prefetch(int new_value, void *extra);
109 extern bool check_recovery_target(char **newval, void **extra,
110  GucSource source);
111 extern void assign_recovery_target(const char *newval, void *extra);
112 extern bool check_recovery_target_lsn(char **newval, void **extra,
113  GucSource source);
114 extern void assign_recovery_target_lsn(const char *newval, void *extra);
115 extern bool check_recovery_target_name(char **newval, void **extra,
116  GucSource source);
117 extern void assign_recovery_target_name(const char *newval, void *extra);
118 extern bool check_recovery_target_time(char **newval, void **extra,
119  GucSource source);
120 extern void assign_recovery_target_time(const char *newval, void *extra);
121 extern bool check_recovery_target_timeline(char **newval, void **extra,
122  GucSource source);
123 extern void assign_recovery_target_timeline(const char *newval, void *extra);
124 extern bool check_recovery_target_xid(char **newval, void **extra,
125  GucSource source);
126 extern void assign_recovery_target_xid(const char *newval, void *extra);
127 extern bool check_role(char **newval, void **extra, GucSource source);
128 extern void assign_role(const char *newval, void *extra);
129 extern const char *show_role(void);
130 extern bool check_search_path(char **newval, void **extra, GucSource source);
131 extern void assign_search_path(const char *newval, void *extra);
132 extern bool check_serial_buffers(int *newval, void **extra, GucSource source);
133 extern bool check_session_authorization(char **newval, void **extra, GucSource source);
134 extern void assign_session_authorization(const char *newval, void *extra);
135 extern void assign_session_replication_role(int newval, void *extra);
136 extern void assign_stats_fetch_consistency(int newval, void *extra);
137 extern bool check_ssl(bool *newval, void **extra, GucSource source);
138 extern bool check_stage_log_stats(bool *newval, void **extra, GucSource source);
139 extern bool check_subtrans_buffers(int *newval, void **extra,
140  GucSource source);
141 extern bool check_synchronous_standby_names(char **newval, void **extra,
142  GucSource source);
143 extern void assign_synchronous_standby_names(const char *newval, void *extra);
144 extern void assign_synchronous_commit(int newval, void *extra);
145 extern void assign_syslog_facility(int newval, void *extra);
146 extern void assign_syslog_ident(const char *newval, void *extra);
147 extern void assign_tcp_keepalives_count(int newval, void *extra);
148 extern const char *show_tcp_keepalives_count(void);
149 extern void assign_tcp_keepalives_idle(int newval, void *extra);
150 extern const char *show_tcp_keepalives_idle(void);
151 extern void assign_tcp_keepalives_interval(int newval, void *extra);
152 extern const char *show_tcp_keepalives_interval(void);
153 extern void assign_tcp_user_timeout(int newval, void *extra);
154 extern const char *show_tcp_user_timeout(void);
155 extern bool check_temp_buffers(int *newval, void **extra, GucSource source);
156 extern bool check_temp_tablespaces(char **newval, void **extra,
157  GucSource source);
158 extern void assign_temp_tablespaces(const char *newval, void *extra);
159 extern bool check_timezone(char **newval, void **extra, GucSource source);
160 extern void assign_timezone(const char *newval, void *extra);
161 extern const char *show_timezone(void);
162 extern bool check_timezone_abbreviations(char **newval, void **extra,
163  GucSource source);
164 extern void assign_timezone_abbreviations(const char *newval, void *extra);
165 extern bool check_transaction_buffers(int *newval, void **extra, GucSource source);
166 extern bool check_transaction_deferrable(bool *newval, void **extra, GucSource source);
167 extern bool check_transaction_isolation(int *newval, void **extra, GucSource source);
168 extern bool check_transaction_read_only(bool *newval, void **extra, GucSource source);
169 extern void assign_transaction_timeout(int newval, void *extra);
170 extern const char *show_unix_socket_permissions(void);
171 extern bool check_wal_buffers(int *newval, void **extra, GucSource source);
172 extern bool check_wal_consistency_checking(char **newval, void **extra,
173  GucSource source);
174 extern void assign_wal_consistency_checking(const char *newval, void *extra);
175 extern bool check_wal_segment_size(int *newval, void **extra, GucSource source);
176 extern void assign_wal_sync_method(int new_wal_sync_method, void *extra);
177 extern bool check_standby_slot_names(char **newval, void **extra,
178  GucSource source);
179 extern void assign_standby_slot_names(const char *newval, void *extra);
181 #endif /* GUC_HOOKS_H */
#define newval
Definition: guc.h:108
void assign_wal_sync_method(int new_wal_sync_method, void *extra)
Definition: xlog.c:8561
const char * show_unix_socket_permissions(void)
Definition: variable.c:1157
void assign_application_name(const char *newval, void *extra)
Definition: variable.c:1075
void assign_syslog_facility(int newval, void *extra)
Definition: elog.c:2302
bool check_primary_slot_name(char **newval, void **extra, GucSource source)
bool check_bonjour(bool *newval, void **extra, GucSource source)
Definition: variable.c:1172
void assign_transaction_timeout(int newval, void *extra)
Definition: postgres.c:3656
void assign_recovery_target_xid(const char *newval, void *extra)
void assign_tcp_keepalives_count(int newval, void *extra)
Definition: pqcomm.c:2007
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:2270
bool check_max_slot_wal_keep_size(int *newval, void **extra, GucSource source)
Definition: xlog.c:2218
bool check_autovacuum_max_workers(int *newval, void **extra, GucSource source)
Definition: postinit.c:604
bool check_recovery_target(char **newval, void **extra, GucSource source)
const char * show_in_hot_standby(void)
Definition: xlog.c:4789
bool check_maintenance_io_concurrency(int *newval, void **extra, GucSource source)
Definition: variable.c:1213
void assign_session_authorization(const char *newval, void *extra)
Definition: variable.c:885
bool check_transaction_deferrable(bool *newval, void **extra, GucSource source)
Definition: variable.c:620
bool check_canonical_path(char **newval, void **extra, GucSource source)
Definition: variable.c:1028
void assign_synchronous_commit(int newval, void *extra)
Definition: syncrep.c:1054
void assign_wal_consistency_checking(const char *newval, void *extra)
Definition: xlog.c:4724
const char * show_timezone(void)
Definition: variable.c:390
bool check_transaction_isolation(int *newval, void **extra, GucSource source)
Definition: variable.c:583
bool check_default_with_oids(bool *newval, void **extra, GucSource source)
Definition: variable.c:1185
bool check_recovery_target_timeline(char **newval, void **extra, GucSource source)
void assign_synchronous_standby_names(const char *newval, void *extra)
Definition: syncrep.c:1048
void assign_timezone_abbreviations(const char *newval, void *extra)
Definition: variable.c:517
bool check_effective_io_concurrency(int *newval, void **extra, GucSource source)
Definition: variable.c:1200
bool check_max_stack_depth(int *newval, void **extra, GucSource source)
Definition: postgres.c:3578
bool check_application_name(char **newval, void **extra, GucSource source)
Definition: variable.c:1049
void assign_search_path(const char *newval, void *extra)
Definition: namespace.c:4698
bool check_max_connections(int *newval, void **extra, GucSource source)
Definition: postinit.c:592
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:388
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:907
bool check_max_wal_senders(int *newval, void **extra, GucSource source)
Definition: postinit.c:628
void assign_debug_io_direct(const char *newval, void *extra)
Definition: fd.c:4024
bool check_cluster_name(char **newval, void **extra, GucSource source)
Definition: variable.c:1085
bool check_locale_time(char **newval, void **extra, GucSource source)
Definition: pg_locale.c:382
void assign_checkpoint_completion_target(double newval, void *extra)
Definition: xlog.c:2193
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:2190
bool check_log_stats(bool *newval, void **extra, GucSource source)
Definition: postgres.c:3641
bool check_default_tablespace(char **newval, void **extra, GucSource source)
Definition: tablespace.c:1091
const char * show_tcp_keepalives_interval(void)
Definition: pqcomm.c:1994
bool check_vacuum_buffer_usage_limit(int *newval, void **extra, GucSource source)
Definition: vacuum.c:125
bool check_autovacuum_work_mem(int *newval, void **extra, GucSource source)
Definition: autovacuum.c:3323
const char * show_log_timezone(void)
Definition: variable.c:463
bool check_backtrace_functions(char **newval, void **extra, GucSource source)
Definition: elog.c:2131
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:802
const char * show_tcp_user_timeout(void)
Definition: pqcomm.c:2040
bool check_transaction_read_only(bool *newval, void **extra, GucSource source)
Definition: variable.c:544
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:1707
void assign_maintenance_io_concurrency(int newval, void *extra)
Definition: variable.c:1111
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:2199
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:2186
bool check_max_worker_processes(int *newval, void **extra, GucSource source)
Definition: postinit.c:616
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:370
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:376
void assign_client_encoding(const char *newval, void *extra)
Definition: variable.c:756
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:404
void assign_role(const char *newval, void *extra)
Definition: variable.c:995
void assign_tcp_keepalives_idle(int newval, void *extra)
Definition: pqcomm.c:1951
bool check_timezone(char **newval, void **extra, GucSource source)
Definition: variable.c:261
const char * show_random_seed(void)
Definition: variable.c:669
bool check_ssl(bool *newval, void **extra, GucSource source)
Definition: variable.c:1226
void assign_datestyle(const char *newval, void *extra)
Definition: variable.c:244
void assign_random_seed(double newval, void *extra)
Definition: variable.c:660
void assign_recovery_prefetch(int new_value, void *extra)
void assign_max_stack_depth(int newval, void *extra)
Definition: postgres.c:3595
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:427
bool check_temp_tablespaces(char **newval, void **extra, GucSource source)
Definition: tablespace.c:1198
bool check_random_seed(double *newval, void **extra, GucSource source)
Definition: variable.c:648
const char * show_archive_command(void)
Definition: xlog.c:4777
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:2200
void assign_tcp_user_timeout(int newval, void *extra)
Definition: pqcomm.c:2030
const char * show_role(void)
Definition: variable.c:1003
void assign_session_replication_role(int newval, void *extra)
Definition: trigger.c:6578
bool check_client_connection_check_interval(int *newval, void **extra, GucSource source)
Definition: postgres.c:3606
bool check_wal_consistency_checking(char **newval, void **extra, GucSource source)
Definition: xlog.c:4639
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:4642
const char * show_tcp_keepalives_idle(void)
Definition: pqcomm.c:1971
bool check_client_encoding(char **newval, void **extra, GucSource source)
Definition: variable.c:680
const char * show_log_file_mode(void)
Definition: variable.c:1145
bool check_synchronous_standby_names(char **newval, void **extra, GucSource source)
Definition: syncrep.c:991
void assign_standby_slot_names(const char *newval, void *extra)
Definition: slot.c:2534
bool check_wal_buffers(int *newval, void **extra, GucSource source)
Definition: xlog.c:4604
bool check_recovery_target_name(char **newval, void **extra, GucSource source)
bool check_standby_slot_names(char **newval, void **extra, GucSource source)
Definition: slot.c:2480
const char * show_tcp_keepalives_count(void)
Definition: pqcomm.c:2017
void assign_tcp_keepalives_interval(int newval, void *extra)
Definition: pqcomm.c:1984
void assign_locale_monetary(const char *newval, void *extra)
Definition: pg_locale.c:364
bool check_multixact_offset_buffers(int *newval, void **extra, GucSource source)
Definition: multixact.c:1965
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:1133
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:1974
bool check_debug_io_direct(char **newval, void **extra, GucSource source)
Definition: fd.c:3942
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:358
void assign_log_destination(const char *newval, void *extra)
Definition: elog.c:2261
bool check_stage_log_stats(bool *newval, void **extra, GucSource source)
Definition: postgres.c:3627
static rewind_source * source
Definition: pg_rewind.c:89