blob: 63154e8f54cfc3935519a6b8dcd7dd55e54b6375 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
|
/*-------------------------------------------------------------------------
*
* postmaster.h
* Exports from postmaster/postmaster.c.
*
* Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group
* Portions Copyright (c) 1994, Regents of the University of California
*
* src/include/postmaster/postmaster.h
*
*-------------------------------------------------------------------------
*/
#ifndef _POSTMASTER_H
#define _POSTMASTER_H
/* GUC options */
extern __thread PGDLLIMPORT bool EnableSSL;
extern __thread PGDLLIMPORT int SuperuserReservedConnections;
extern __thread PGDLLIMPORT int ReservedConnections;
extern __thread PGDLLIMPORT int PostPortNumber;
extern __thread PGDLLIMPORT int Unix_socket_permissions;
extern __thread PGDLLIMPORT char *Unix_socket_group;
extern __thread PGDLLIMPORT char *Unix_socket_directories;
extern __thread PGDLLIMPORT char *ListenAddresses;
extern __thread PGDLLIMPORT bool ClientAuthInProgress;
extern __thread PGDLLIMPORT int PreAuthDelay;
extern __thread PGDLLIMPORT int AuthenticationTimeout;
extern __thread PGDLLIMPORT bool Log_connections;
extern __thread PGDLLIMPORT bool log_hostname;
extern __thread PGDLLIMPORT bool enable_bonjour;
extern __thread PGDLLIMPORT char *bonjour_name;
extern __thread PGDLLIMPORT bool restart_after_crash;
extern __thread PGDLLIMPORT bool remove_temp_files_after_crash;
extern __thread PGDLLIMPORT bool send_abort_for_crash;
extern __thread PGDLLIMPORT bool send_abort_for_kill;
#ifdef WIN32
extern PGDLLIMPORT HANDLE PostmasterHandle;
#else
extern __thread PGDLLIMPORT int postmaster_alive_fds[2];
/*
* Constants that represent which of postmaster_alive_fds is held by
* postmaster, and which is used in children to check for postmaster death.
*/
#define POSTMASTER_FD_WATCH 0 /* used in children to check for
* postmaster death */
#define POSTMASTER_FD_OWN 1 /* kept open by postmaster only */
#endif
extern PGDLLIMPORT const char *progname;
extern void PostmasterMain(int argc, char *argv[]) pg_attribute_noreturn();
extern void ClosePostmasterPorts(bool am_syslogger);
extern void InitProcessGlobals(void);
extern int MaxLivePostmasterChildren(void);
extern bool PostmasterMarkPIDForWorkerNotify(int);
#ifdef EXEC_BACKEND
extern pid_t postmaster_forkexec(int argc, char *argv[]);
extern void SubPostmasterMain(int argc, char *argv[]) pg_attribute_noreturn();
extern Size ShmemBackendArraySize(void);
extern void ShmemBackendArrayAllocation(void);
#endif
/*
* Note: MAX_BACKENDS is limited to 2^18-1 because that's the width reserved
* for buffer references in buf_internals.h. This limitation could be lifted
* by using a 64bit state; but it's unlikely to be worthwhile as 2^18-1
* backends exceed currently realistic configurations. Even if that limitation
* were removed, we still could not a) exceed 2^23-1 because inval.c stores
* the backend ID as a 3-byte signed integer, b) INT_MAX/4 because some places
* compute 4*MaxBackends without any overflow check. This is rechecked in the
* relevant GUC check hooks and in RegisterBackgroundWorker().
*/
#define MAX_BACKENDS 0x3FFFF
#endif /* _POSTMASTER_H */
|