123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778 |
- /*-------------------------------------------------------------------------
- *
- * postmaster.h
- * Exports from postmaster/postmaster.c.
- *
- * Portions Copyright (c) 1996-2022, 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 PGDLLIMPORT bool EnableSSL;
- extern PGDLLIMPORT int ReservedBackends;
- extern PGDLLIMPORT int PostPortNumber;
- extern PGDLLIMPORT int Unix_socket_permissions;
- extern PGDLLIMPORT char *Unix_socket_group;
- extern PGDLLIMPORT char *Unix_socket_directories;
- extern PGDLLIMPORT char *ListenAddresses;
- extern PGDLLIMPORT bool ClientAuthInProgress;
- extern PGDLLIMPORT int PreAuthDelay;
- extern PGDLLIMPORT int AuthenticationTimeout;
- extern PGDLLIMPORT bool Log_connections;
- extern PGDLLIMPORT bool log_hostname;
- extern PGDLLIMPORT bool enable_bonjour;
- extern PGDLLIMPORT char *bonjour_name;
- extern PGDLLIMPORT bool restart_after_crash;
- extern PGDLLIMPORT bool remove_temp_files_after_crash;
- #ifdef WIN32
- extern PGDLLIMPORT HANDLE PostmasterHandle;
- #else
- extern 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 */
|