PostgreSQL Source Code git master
Loading...
Searching...
No Matches
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-2026, 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_log_connections(char **newval, void **extra, GucSource source);
55extern void assign_log_connections(const char *newval, void *extra);
56extern bool check_default_table_access_method(char **newval, void **extra,
58extern bool check_default_tablespace(char **newval, void **extra,
60extern bool check_default_text_search_config(char **newval, void **extra, GucSource source);
61extern void assign_default_text_search_config(const char *newval, void *extra);
62extern bool check_default_with_oids(bool *newval, void **extra,
64extern const char *show_effective_wal_level(void);
65extern bool check_huge_page_size(int *newval, void **extra, GucSource source);
66extern void assign_io_method(int newval, void *extra);
67extern bool check_io_max_concurrency(int *newval, void **extra, GucSource source);
68extern const char *show_in_hot_standby(void);
69extern bool check_locale_messages(char **newval, void **extra, GucSource source);
70extern void assign_locale_messages(const char *newval, void *extra);
71extern bool check_locale_monetary(char **newval, void **extra, GucSource source);
72extern void assign_locale_monetary(const char *newval, void *extra);
73extern bool check_locale_numeric(char **newval, void **extra, GucSource source);
74extern void assign_locale_numeric(const char *newval, void *extra);
75extern bool check_locale_time(char **newval, void **extra, GucSource source);
76extern void assign_locale_time(const char *newval, void *extra);
77extern bool check_log_destination(char **newval, void **extra,
79extern void assign_log_destination(const char *newval, void *extra);
80extern const char *show_log_file_mode(void);
81extern bool check_log_stats(bool *newval, void **extra, GucSource source);
82extern bool check_log_timezone(char **newval, void **extra, GucSource source);
83extern void assign_log_timezone(const char *newval, void *extra);
84extern const char *show_log_timezone(void);
85extern void assign_maintenance_io_concurrency(int newval, void *extra);
86extern void assign_io_max_combine_limit(int newval, void *extra);
87extern void assign_io_combine_limit(int newval, void *extra);
88extern void assign_max_wal_size(int newval, void *extra);
89extern bool check_max_stack_depth(int *newval, void **extra, GucSource source);
90extern void assign_max_stack_depth(int newval, void *extra);
91extern bool check_multixact_member_buffers(int *newval, void **extra,
93extern bool check_multixact_offset_buffers(int *newval, void **extra,
95extern bool check_notify_buffers(int *newval, void **extra, GucSource source);
96extern bool check_primary_slot_name(char **newval, void **extra,
98extern bool check_random_seed(double *newval, void **extra, GucSource source);
99extern void assign_random_seed(double newval, void *extra);
100extern const char *show_random_seed(void);
101extern bool check_recovery_prefetch(int *new_value, void **extra,
103extern void assign_recovery_prefetch(int new_value, void *extra);
104extern bool check_recovery_target(char **newval, void **extra,
106extern void assign_recovery_target(const char *newval, void *extra);
107extern bool check_recovery_target_lsn(char **newval, void **extra,
109extern void assign_recovery_target_lsn(const char *newval, void *extra);
110extern bool check_recovery_target_name(char **newval, void **extra,
112extern void assign_recovery_target_name(const char *newval, void *extra);
113extern bool check_recovery_target_time(char **newval, void **extra,
115extern void assign_recovery_target_time(const char *newval, void *extra);
116extern bool check_recovery_target_timeline(char **newval, void **extra,
118extern void assign_recovery_target_timeline(const char *newval, void *extra);
119extern bool check_recovery_target_xid(char **newval, void **extra,
121extern void assign_recovery_target_xid(const char *newval, void *extra);
122extern bool check_role(char **newval, void **extra, GucSource source);
123extern void assign_role(const char *newval, void *extra);
124extern const char *show_role(void);
125extern bool check_restrict_nonsystem_relation_kind(char **newval, void **extra,
127extern void assign_restrict_nonsystem_relation_kind(const char *newval, void *extra);
128extern bool check_search_path(char **newval, void **extra, GucSource source);
129extern void assign_search_path(const char *newval, void *extra);
130extern bool check_serial_buffers(int *newval, void **extra, GucSource source);
131extern bool check_session_authorization(char **newval, void **extra, GucSource source);
132extern void assign_session_authorization(const char *newval, void *extra);
133extern void assign_session_replication_role(int newval, void *extra);
134extern void assign_stats_fetch_consistency(int newval, void *extra);
135extern bool check_ssl(bool *newval, void **extra, GucSource source);
136extern bool check_ssl_sni(bool *newval, void **extra, GucSource source);
137extern bool check_stage_log_stats(bool *newval, void **extra, GucSource source);
138extern bool check_standard_conforming_strings(bool *newval, void **extra,
140extern bool check_subtrans_buffers(int *newval, void **extra,
142extern bool check_synchronous_standby_names(char **newval, void **extra,
144extern void assign_synchronous_standby_names(const char *newval, void *extra);
145extern void assign_synchronous_commit(int newval, void *extra);
146extern void assign_syslog_facility(int newval, void *extra);
147extern void assign_syslog_ident(const char *newval, void *extra);
148extern void assign_tcp_keepalives_count(int newval, void *extra);
149extern const char *show_tcp_keepalives_count(void);
150extern void assign_tcp_keepalives_idle(int newval, void *extra);
151extern const char *show_tcp_keepalives_idle(void);
152extern void assign_tcp_keepalives_interval(int newval, void *extra);
153extern const char *show_tcp_keepalives_interval(void);
154extern void assign_tcp_user_timeout(int newval, void *extra);
155extern const char *show_tcp_user_timeout(void);
156extern bool check_temp_buffers(int *newval, void **extra, GucSource source);
157extern bool check_temp_tablespaces(char **newval, void **extra,
159extern void assign_temp_tablespaces(const char *newval, void *extra);
160extern bool check_timezone(char **newval, void **extra, GucSource source);
161extern void assign_timezone(const char *newval, void *extra);
162extern const char *show_timezone(void);
163extern bool check_timezone_abbreviations(char **newval, void **extra,
165extern void assign_timezone_abbreviations(const char *newval, void *extra);
166extern bool check_transaction_buffers(int *newval, void **extra, GucSource source);
167extern bool check_transaction_deferrable(bool *newval, void **extra, GucSource source);
168extern bool check_transaction_isolation(int *newval, void **extra, GucSource source);
169extern bool check_transaction_read_only(bool *newval, void **extra, GucSource source);
170extern void assign_transaction_timeout(int newval, void *extra);
171extern const char *show_unix_socket_permissions(void);
172extern bool check_wal_buffers(int *newval, void **extra, GucSource source);
173extern bool check_wal_consistency_checking(char **newval, void **extra,
175extern void assign_wal_consistency_checking(const char *newval, void *extra);
176extern bool check_wal_segment_size(int *newval, void **extra, GucSource source);
177extern void assign_wal_sync_method(int new_wal_sync_method, void *extra);
178extern bool check_synchronized_standby_slots(char **newval, void **extra,
180extern void assign_synchronized_standby_slots(const char *newval, void *extra);
181extern bool check_log_min_messages(char **newval, void **extra, GucSource source);
182extern void assign_log_min_messages(const char *newval, void *extra);
183
184#endif /* GUC_HOOKS_H */
#define newval
GucSource
Definition guc.h:112
void assign_wal_sync_method(int new_wal_sync_method, void *extra)
Definition xlog.c:8838
void assign_application_name(const char *newval, void *extra)
Definition variable.c:1108
void assign_syslog_facility(int newval, void *extra)
Definition elog.c:2782
bool check_primary_slot_name(char **newval, void **extra, GucSource source)
bool check_bonjour(bool *newval, void **extra, GucSource source)
Definition variable.c:1221
void assign_transaction_timeout(int newval, void *extra)
Definition postgres.c:3635
void assign_io_combine_limit(int newval, void *extra)
Definition variable.c:1169
void assign_recovery_target_xid(const char *newval, void *extra)
void assign_tcp_keepalives_count(int newval, void *extra)
Definition pqcomm.c:2011
bool check_subtrans_buffers(int *newval, void **extra, GucSource source)
Definition subtrans.c:255
void assign_syslog_ident(const char *newval, void *extra)
Definition elog.c:2750
bool check_recovery_target(char **newval, void **extra, GucSource source)
void assign_restrict_nonsystem_relation_kind(const char *newval, void *extra)
Definition postgres.c:3706
void assign_synchronized_standby_slots(const char *newval, void *extra)
Definition slot.c:3045
void assign_session_authorization(const char *newval, void *extra)
Definition variable.c:912
const char * show_tcp_keepalives_interval(void)
Definition pqcomm.c:1998
bool check_transaction_deferrable(bool *newval, void **extra, GucSource source)
Definition variable.c:624
bool check_canonical_path(char **newval, void **extra, GucSource source)
Definition variable.c:1059
bool check_log_connections(char **newval, void **extra, GucSource source)
bool check_ssl_sni(bool *newval, void **extra, GucSource source)
Definition variable.c:1262
void assign_synchronous_commit(int newval, void *extra)
Definition syncrep.c:1124
void assign_wal_consistency_checking(const char *newval, void *extra)
Definition xlog.c:4815
bool check_transaction_isolation(int *newval, void **extra, GucSource source)
Definition variable.c:586
bool check_default_with_oids(bool *newval, void **extra, GucSource source)
Definition variable.c:1234
bool check_recovery_target_timeline(char **newval, void **extra, GucSource source)
void assign_synchronous_standby_names(const char *newval, void *extra)
Definition syncrep.c:1118
void assign_timezone_abbreviations(const char *newval, void *extra)
Definition variable.c:519
const char * show_tcp_keepalives_count(void)
Definition pqcomm.c:2021
bool check_max_stack_depth(int *newval, void **extra, GucSource source)
bool check_application_name(char **newval, void **extra, GucSource source)
Definition variable.c:1080
void assign_search_path(const char *newval, void *extra)
Definition namespace.c:4785
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:370
bool check_default_text_search_config(char **newval, void **extra, GucSource source)
Definition ts_cache.c:605
bool check_role(char **newval, void **extra, GucSource source)
Definition variable.c:933
void assign_debug_io_direct(const char *newval, void *extra)
Definition fd.c:4079
bool check_cluster_name(char **newval, void **extra, GucSource source)
Definition variable.c:1118
bool check_locale_time(char **newval, void **extra, GucSource source)
Definition pg_locale.c:364
void assign_checkpoint_completion_target(double newval, void *extra)
Definition xlog.c:2194
const char * show_random_seed(void)
Definition variable.c:677
void assign_recovery_target(const char *newval, void *extra)
bool check_default_table_access_method(char **newval, void **extra, GucSource source)
Definition tableamapi.c:101
void assign_io_method(int newval, void *extra)
Definition aio.c:1322
void assign_backtrace_functions(const char *newval, void *extra)
Definition elog.c:2668
bool check_log_stats(bool *newval, void **extra, GucSource source)
Definition postgres.c:3620
bool check_default_tablespace(char **newval, void **extra, GucSource source)
const char * show_archive_command(void)
Definition xlog.c:4868
void assign_log_min_messages(const char *newval, void *extra)
Definition elog.c:2590
void assign_io_max_combine_limit(int newval, void *extra)
Definition variable.c:1164
bool check_vacuum_buffer_usage_limit(int *newval, void **extra, GucSource source)
Definition vacuum.c:140
bool check_autovacuum_work_mem(int *newval, void **extra, GucSource source)
const char * show_effective_wal_level(void)
Definition xlog.c:4895
bool check_backtrace_functions(char **newval, void **extra, GucSource source)
Definition elog.c:2607
bool check_temp_buffers(int *newval, void **extra, GucSource source)
Definition localbuf.c:893
bool check_session_authorization(char **newval, void **extra, GucSource source)
Definition variable.c:815
const char * show_tcp_keepalives_idle(void)
Definition pqcomm.c:1975
const char * show_log_file_mode(void)
Definition variable.c:1194
bool check_transaction_read_only(bool *newval, void **extra, GucSource source)
Definition variable.c:546
const char * show_in_hot_standby(void)
Definition xlog.c:4880
bool check_huge_page_size(int *newval, void **extra, GucSource source)
Definition sysv_shmem.c:579
void assign_stats_fetch_consistency(int newval, void *extra)
Definition pgstat.c:2129
bool check_synchronized_standby_slots(char **newval, void **extra, GucSource source)
Definition slot.c:2989
void assign_maintenance_io_concurrency(int newval, void *extra)
Definition variable.c:1146
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:2677
bool check_transaction_buffers(int *newval, void **extra, GucSource source)
Definition clog.c:822
void assign_max_wal_size(int newval, void *extra)
Definition xlog.c:2187
bool check_log_min_messages(char **newval, void **extra, GucSource source)
Definition elog.c:2362
bool check_timezone_abbreviations(char **newval, void **extra, GucSource source)
Definition variable.c:487
void assign_recovery_target_name(const char *newval, void *extra)
bool check_locale_numeric(char **newval, void **extra, GucSource source)
Definition pg_locale.c:352
const char * show_log_timezone(void)
Definition variable.c:465
void assign_temp_tablespaces(const char *newval, void *extra)
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:358
void assign_client_encoding(const char *newval, void *extra)
Definition variable.c:786
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:386
void assign_role(const char *newval, void *extra)
Definition variable.c:1026
void assign_tcp_keepalives_idle(int newval, void *extra)
Definition pqcomm.c:1955
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:1249
void assign_datestyle(const char *newval, void *extra)
Definition variable.c:244
void assign_random_seed(double newval, void *extra)
Definition variable.c:668
void assign_recovery_prefetch(int new_value, void *extra)
void assign_max_stack_depth(int newval, void *extra)
const char * show_role(void)
Definition variable.c:1034
bool check_log_timezone(char **newval, void **extra, GucSource source)
Definition variable.c:418
void assign_locale_messages(const char *newval, void *extra)
Definition pg_locale.c:409
bool check_temp_tablespaces(char **newval, void **extra, GucSource source)
const char * show_tcp_user_timeout(void)
Definition pqcomm.c:2044
bool check_standard_conforming_strings(bool *newval, void **extra, GucSource source)
Definition variable.c:1283
bool check_random_seed(double *newval, void **extra, GucSource source)
Definition variable.c:656
void assign_default_text_search_config(const char *newval, void *extra)
Definition ts_cache.c:673
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:2201
void assign_tcp_user_timeout(int newval, void *extra)
Definition pqcomm.c:2034
const char * show_unix_socket_permissions(void)
Definition variable.c:1206
void assign_session_replication_role(int newval, void *extra)
Definition trigger.c:6706
const char * show_timezone(void)
Definition variable.c:392
bool check_client_connection_check_interval(int *newval, void **extra, GucSource source)
Definition postgres.c:3585
void assign_log_connections(const char *newval, void *extra)
bool check_wal_consistency_checking(char **newval, void **extra, GucSource source)
Definition xlog.c:4728
bool check_serial_buffers(int *newval, void **extra, GucSource source)
Definition predicate.c:858
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:4729
bool check_client_encoding(char **newval, void **extra, GucSource source)
Definition variable.c:688
bool check_synchronous_standby_names(char **newval, void **extra, GucSource source)
Definition syncrep.c:1058
bool check_wal_buffers(int *newval, void **extra, GucSource source)
Definition xlog.c:4693
bool check_restrict_nonsystem_relation_kind(char **newval, void **extra, GucSource source)
Definition postgres.c:3654
bool check_recovery_target_name(char **newval, void **extra, GucSource source)
void assign_tcp_keepalives_interval(int newval, void *extra)
Definition pqcomm.c:1988
void assign_locale_monetary(const char *newval, void *extra)
Definition pg_locale.c:346
bool check_multixact_offset_buffers(int *newval, void **extra, GucSource source)
Definition multixact.c:1835
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:1182
void assign_log_timezone(const char *newval, void *extra)
Definition variable.c:456
bool check_multixact_member_buffers(int *newval, void **extra, GucSource source)
Definition multixact.c:1844
bool check_io_max_concurrency(int *newval, void **extra, GucSource source)
Definition aio.c:1331
bool check_debug_io_direct(char **newval, void **extra, GucSource source)
Definition fd.c:3992
bool check_notify_buffers(int *newval, void **extra, GucSource source)
Definition async.c:3298
bool check_locale_monetary(char **newval, void **extra, GucSource source)
Definition pg_locale.c:340
void assign_log_destination(const char *newval, void *extra)
Definition elog.c:2741
bool check_stage_log_stats(bool *newval, void **extra, GucSource source)
Definition postgres.c:3606
static rewind_source * source
Definition pg_rewind.c:89
static int fb(int x)