mirror of
https://git.postgresql.org/git/postgresql.git
synced 2024-10-06 09:26:51 +02:00
9d4649ca49
Backpatch-through: certain files through 9.3
56 lines
2.0 KiB
C
56 lines
2.0 KiB
C
/*-------------------------------------------------------------------------
|
|
*
|
|
* pidfile.h
|
|
* Declarations describing the data directory lock file (postmaster.pid)
|
|
*
|
|
* Portions Copyright (c) 1996-2018, PostgreSQL Global Development Group
|
|
* Portions Copyright (c) 1994, Regents of the University of California
|
|
*
|
|
* src/include/utils/pidfile.h
|
|
*
|
|
*-------------------------------------------------------------------------
|
|
*/
|
|
#ifndef UTILS_PIDFILE_H
|
|
#define UTILS_PIDFILE_H
|
|
|
|
/*
|
|
* As of Postgres 10, the contents of the data-directory lock file are:
|
|
*
|
|
* line #
|
|
* 1 postmaster PID (or negative of a standalone backend's PID)
|
|
* 2 data directory path
|
|
* 3 postmaster start timestamp (time_t representation)
|
|
* 4 port number
|
|
* 5 first Unix socket directory path (empty if none)
|
|
* 6 first listen_address (IP address or "*"; empty if no TCP port)
|
|
* 7 shared memory key (empty on Windows)
|
|
* 8 postmaster status (see values below)
|
|
*
|
|
* Lines 6 and up are added via AddToDataDirLockFile() after initial file
|
|
* creation; also, line 5 is initially empty and is changed after the first
|
|
* Unix socket is opened.
|
|
*
|
|
* Socket lock file(s), if used, have the same contents as lines 1-5, with
|
|
* line 5 being their own directory.
|
|
*/
|
|
#define LOCK_FILE_LINE_PID 1
|
|
#define LOCK_FILE_LINE_DATA_DIR 2
|
|
#define LOCK_FILE_LINE_START_TIME 3
|
|
#define LOCK_FILE_LINE_PORT 4
|
|
#define LOCK_FILE_LINE_SOCKET_DIR 5
|
|
#define LOCK_FILE_LINE_LISTEN_ADDR 6
|
|
#define LOCK_FILE_LINE_SHMEM_KEY 7
|
|
#define LOCK_FILE_LINE_PM_STATUS 8
|
|
|
|
/*
|
|
* The PM_STATUS line may contain one of these values. All these strings
|
|
* must be the same length, per comments for AddToDataDirLockFile().
|
|
* We pad with spaces as needed to make that true.
|
|
*/
|
|
#define PM_STATUS_STARTING "starting" /* still starting up */
|
|
#define PM_STATUS_STOPPING "stopping" /* in shutdown sequence */
|
|
#define PM_STATUS_READY "ready " /* ready for connections */
|
|
#define PM_STATUS_STANDBY "standby " /* up, won't accept connections */
|
|
|
|
#endif /* UTILS_PIDFILE_H */
|