1 /*-------------------------------------------------------------------------
4 * Declarations of per-variable callback functions used by GUC.
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.
10 * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group
12 * src/include/utils/guc_hooks.h
14 *-------------------------------------------------------------------------
19 #include "utils/guc.h"
22 * See guc.h for the typedefs that these hook functions should match
23 * (GucBoolCheckHook and so on).
25 * Please keep the declarations in order by GUC variable name.
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 const char *show_data_directory_mode(void);
50 extern bool check_datestyle(char **newval
, void **extra
, GucSource source
);
51 extern void assign_datestyle(const char *newval
, void *extra
);
52 extern bool check_debug_io_direct(char **newval
, void **extra
, GucSource source
);
53 extern void assign_debug_io_direct(const char *newval
, void *extra
);
54 extern bool check_default_table_access_method(char **newval
, void **extra
,
56 extern bool check_default_tablespace(char **newval
, void **extra
,
58 extern bool check_default_text_search_config(char **newval
, void **extra
, GucSource source
);
59 extern void assign_default_text_search_config(const char *newval
, void *extra
);
60 extern bool check_default_with_oids(bool *newval
, void **extra
,
62 extern bool check_effective_io_concurrency(int *newval
, void **extra
,
64 extern bool check_huge_page_size(int *newval
, void **extra
, GucSource source
);
65 extern const char *show_in_hot_standby(void);
66 extern bool check_locale_messages(char **newval
, void **extra
, GucSource source
);
67 extern void assign_locale_messages(const char *newval
, void *extra
);
68 extern bool check_locale_monetary(char **newval
, void **extra
, GucSource source
);
69 extern void assign_locale_monetary(const char *newval
, void *extra
);
70 extern bool check_locale_numeric(char **newval
, void **extra
, GucSource source
);
71 extern void assign_locale_numeric(const char *newval
, void *extra
);
72 extern bool check_locale_time(char **newval
, void **extra
, GucSource source
);
73 extern void assign_locale_time(const char *newval
, void *extra
);
74 extern bool check_log_destination(char **newval
, void **extra
,
76 extern void assign_log_destination(const char *newval
, void *extra
);
77 extern const char *show_log_file_mode(void);
78 extern bool check_log_stats(bool *newval
, void **extra
, GucSource source
);
79 extern bool check_log_timezone(char **newval
, void **extra
, GucSource source
);
80 extern void assign_log_timezone(const char *newval
, void *extra
);
81 extern const char *show_log_timezone(void);
82 extern bool check_maintenance_io_concurrency(int *newval
, void **extra
,
84 extern void assign_maintenance_io_concurrency(int newval
, void *extra
);
85 extern bool check_max_connections(int *newval
, void **extra
, GucSource source
);
86 extern bool check_max_wal_senders(int *newval
, void **extra
, GucSource source
);
87 extern void assign_max_wal_size(int newval
, void *extra
);
88 extern bool check_max_worker_processes(int *newval
, void **extra
,
90 extern bool check_max_stack_depth(int *newval
, void **extra
, GucSource source
);
91 extern void assign_max_stack_depth(int newval
, void *extra
);
92 extern bool check_primary_slot_name(char **newval
, void **extra
,
94 extern bool check_random_seed(double *newval
, void **extra
, GucSource source
);
95 extern void assign_random_seed(double newval
, void *extra
);
96 extern const char *show_random_seed(void);
97 extern bool check_recovery_prefetch(int *new_value
, void **extra
,
99 extern void assign_recovery_prefetch(int new_value
, void *extra
);
100 extern bool check_recovery_target(char **newval
, void **extra
,
102 extern void assign_recovery_target(const char *newval
, void *extra
);
103 extern bool check_recovery_target_lsn(char **newval
, void **extra
,
105 extern void assign_recovery_target_lsn(const char *newval
, void *extra
);
106 extern bool check_recovery_target_name(char **newval
, void **extra
,
108 extern void assign_recovery_target_name(const char *newval
, void *extra
);
109 extern bool check_recovery_target_time(char **newval
, void **extra
,
111 extern void assign_recovery_target_time(const char *newval
, void *extra
);
112 extern bool check_recovery_target_timeline(char **newval
, void **extra
,
114 extern void assign_recovery_target_timeline(const char *newval
, void *extra
);
115 extern bool check_recovery_target_xid(char **newval
, void **extra
,
117 extern void assign_recovery_target_xid(const char *newval
, void *extra
);
118 extern bool check_role(char **newval
, void **extra
, GucSource source
);
119 extern void assign_role(const char *newval
, void *extra
);
120 extern const char *show_role(void);
121 extern bool check_search_path(char **newval
, void **extra
, GucSource source
);
122 extern void assign_search_path(const char *newval
, void *extra
);
123 extern bool check_session_authorization(char **newval
, void **extra
, GucSource source
);
124 extern void assign_session_authorization(const char *newval
, void *extra
);
125 extern void assign_session_replication_role(int newval
, void *extra
);
126 extern void assign_stats_fetch_consistency(int newval
, void *extra
);
127 extern bool check_ssl(bool *newval
, void **extra
, GucSource source
);
128 extern bool check_stage_log_stats(bool *newval
, void **extra
, GucSource source
);
129 extern bool check_synchronous_standby_names(char **newval
, void **extra
,
131 extern void assign_synchronous_standby_names(const char *newval
, void *extra
);
132 extern void assign_synchronous_commit(int newval
, void *extra
);
133 extern void assign_syslog_facility(int newval
, void *extra
);
134 extern void assign_syslog_ident(const char *newval
, void *extra
);
135 extern void assign_tcp_keepalives_count(int newval
, void *extra
);
136 extern const char *show_tcp_keepalives_count(void);
137 extern void assign_tcp_keepalives_idle(int newval
, void *extra
);
138 extern const char *show_tcp_keepalives_idle(void);
139 extern void assign_tcp_keepalives_interval(int newval
, void *extra
);
140 extern const char *show_tcp_keepalives_interval(void);
141 extern void assign_tcp_user_timeout(int newval
, void *extra
);
142 extern const char *show_tcp_user_timeout(void);
143 extern bool check_temp_buffers(int *newval
, void **extra
, GucSource source
);
144 extern bool check_temp_tablespaces(char **newval
, void **extra
,
146 extern void assign_temp_tablespaces(const char *newval
, void *extra
);
147 extern bool check_timezone(char **newval
, void **extra
, GucSource source
);
148 extern void assign_timezone(const char *newval
, void *extra
);
149 extern const char *show_timezone(void);
150 extern bool check_timezone_abbreviations(char **newval
, void **extra
,
152 extern void assign_timezone_abbreviations(const char *newval
, void *extra
);
153 extern bool check_transaction_deferrable(bool *newval
, void **extra
, GucSource source
);
154 extern bool check_transaction_isolation(int *newval
, void **extra
, GucSource source
);
155 extern bool check_transaction_read_only(bool *newval
, void **extra
, GucSource source
);
156 extern const char *show_unix_socket_permissions(void);
157 extern bool check_wal_buffers(int *newval
, void **extra
, GucSource source
);
158 extern bool check_wal_consistency_checking(char **newval
, void **extra
,
160 extern void assign_wal_consistency_checking(const char *newval
, void *extra
);
161 extern bool check_wal_segment_size(int *newval
, void **extra
, GucSource source
);
162 extern void assign_wal_sync_method(int new_wal_sync_method
, void *extra
);
164 #endif /* GUC_HOOKS_H */