42 lines
1.2 KiB
C
42 lines
1.2 KiB
C
/*-------------------------------------------------------------------------
|
|
*
|
|
* backend_startup.h
|
|
* prototypes for backend_startup.c.
|
|
*
|
|
*
|
|
* Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group
|
|
* Portions Copyright (c) 1994, Regents of the University of California
|
|
*
|
|
* src/include/tcop/backend_startup.h
|
|
*
|
|
*-------------------------------------------------------------------------
|
|
*/
|
|
#ifndef BACKEND_STARTUP_H
|
|
#define BACKEND_STARTUP_H
|
|
|
|
/*
|
|
* CAC_state is passed from postmaster to the backend process, to indicate
|
|
* whether the connection should be accepted, or if the process should just
|
|
* send an error to the client and close the connection. Note that the
|
|
* connection can fail for various reasons even if postmaster passed CAC_OK.
|
|
*/
|
|
typedef enum CAC_state
|
|
{
|
|
CAC_OK,
|
|
CAC_STARTUP,
|
|
CAC_SHUTDOWN,
|
|
CAC_RECOVERY,
|
|
CAC_NOTCONSISTENT,
|
|
CAC_TOOMANY,
|
|
} CAC_state;
|
|
|
|
/* Information passed from postmaster to backend process in 'startup_data' */
|
|
typedef struct BackendStartupData
|
|
{
|
|
CAC_state canAcceptConnections;
|
|
} BackendStartupData;
|
|
|
|
extern void BackendMain(char *startup_data, size_t startup_data_len) pg_attribute_noreturn();
|
|
|
|
#endif /* BACKEND_STARTUP_H */
|