1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677 |
- /*-------------------------------------------------------------------------
- *
- * postmaster.h
- * Exports from postmaster/postmaster.c.
- *
- * Portions Copyright (c) 1996-2016, 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 bool EnableSSL;
- extern int ReservedBackends;
- extern int PostPortNumber;
- extern int Unix_socket_permissions;
- extern char *Unix_socket_group;
- extern char *Unix_socket_directories;
- extern char *ListenAddresses;
- extern bool ClientAuthInProgress;
- extern int PreAuthDelay;
- extern int AuthenticationTimeout;
- extern bool Log_connections;
- extern bool log_hostname;
- extern bool enable_bonjour;
- extern char *bonjour_name;
- extern bool restart_after_crash;
- #ifdef WIN32
- extern HANDLE PostmasterHandle;
- #else
- extern 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 const char *progname;
- extern void PostmasterMain(int argc, char *argv[]) pg_attribute_noreturn();
- extern void ClosePostmasterPorts(bool am_syslogger);
- extern int MaxLivePostmasterChildren(void);
- extern int GetNumShmemAttachedBgworkers(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 */
|