PostgreSQL Source Code  git master
pg_control.h File Reference
#include "access/transam.h"
#include "access/xlogdefs.h"
#include "pgtime.h"
#include "port/pg_crc32c.h"
Include dependency graph for pg_control.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  CheckPoint
 
struct  ControlFileData
 

Macros

#define PG_CONTROL_VERSION   1300
 
#define MOCK_AUTH_NONCE_LEN   32
 
#define XLOG_CHECKPOINT_SHUTDOWN   0x00
 
#define XLOG_CHECKPOINT_ONLINE   0x10
 
#define XLOG_NOOP   0x20
 
#define XLOG_NEXTOID   0x30
 
#define XLOG_SWITCH   0x40
 
#define XLOG_BACKUP_END   0x50
 
#define XLOG_PARAMETER_CHANGE   0x60
 
#define XLOG_RESTORE_POINT   0x70
 
#define XLOG_FPW_CHANGE   0x80
 
#define XLOG_END_OF_RECOVERY   0x90
 
#define XLOG_FPI_FOR_HINT   0xA0
 
#define XLOG_FPI   0xB0
 
#define XLOG_OVERWRITE_CONTRECORD   0xD0
 
#define XLOG_CHECKPOINT_REDO   0xE0
 
#define FLOATFORMAT_VALUE   1234567.0
 
#define PG_CONTROL_MAX_SAFE_SIZE   512
 
#define PG_CONTROL_FILE_SIZE   8192
 

Typedefs

typedef struct CheckPoint CheckPoint
 
typedef enum DBState DBState
 
typedef struct ControlFileData ControlFileData
 

Enumerations

enum  DBState {
  DB_STARTUP = 0 , DB_SHUTDOWNED , DB_SHUTDOWNED_IN_RECOVERY , DB_SHUTDOWNING ,
  DB_IN_CRASH_RECOVERY , DB_IN_ARCHIVE_RECOVERY , DB_IN_PRODUCTION
}
 

Functions

 StaticAssertDecl (sizeof(ControlFileData)<=PG_CONTROL_MAX_SAFE_SIZE, "pg_control is too large for atomic disk writes")
 
 StaticAssertDecl (sizeof(ControlFileData)<=PG_CONTROL_FILE_SIZE, "sizeof(ControlFileData) exceeds PG_CONTROL_FILE_SIZE")
 

Macro Definition Documentation

◆ FLOATFORMAT_VALUE

#define FLOATFORMAT_VALUE   1234567.0

Definition at line 200 of file pg_control.h.

◆ MOCK_AUTH_NONCE_LEN

#define MOCK_AUTH_NONCE_LEN   32

Definition at line 28 of file pg_control.h.

◆ PG_CONTROL_FILE_SIZE

#define PG_CONTROL_FILE_SIZE   8192

Definition at line 249 of file pg_control.h.

◆ PG_CONTROL_MAX_SAFE_SIZE

#define PG_CONTROL_MAX_SAFE_SIZE   512

Definition at line 240 of file pg_control.h.

◆ PG_CONTROL_VERSION

#define PG_CONTROL_VERSION   1300

Definition at line 25 of file pg_control.h.

◆ XLOG_BACKUP_END

#define XLOG_BACKUP_END   0x50

Definition at line 72 of file pg_control.h.

◆ XLOG_CHECKPOINT_ONLINE

#define XLOG_CHECKPOINT_ONLINE   0x10

Definition at line 68 of file pg_control.h.

◆ XLOG_CHECKPOINT_REDO

#define XLOG_CHECKPOINT_REDO   0xE0

Definition at line 81 of file pg_control.h.

◆ XLOG_CHECKPOINT_SHUTDOWN

#define XLOG_CHECKPOINT_SHUTDOWN   0x00

Definition at line 67 of file pg_control.h.

◆ XLOG_END_OF_RECOVERY

#define XLOG_END_OF_RECOVERY   0x90

Definition at line 76 of file pg_control.h.

◆ XLOG_FPI

#define XLOG_FPI   0xB0

Definition at line 78 of file pg_control.h.

◆ XLOG_FPI_FOR_HINT

#define XLOG_FPI_FOR_HINT   0xA0

Definition at line 77 of file pg_control.h.

◆ XLOG_FPW_CHANGE

#define XLOG_FPW_CHANGE   0x80

Definition at line 75 of file pg_control.h.

◆ XLOG_NEXTOID

#define XLOG_NEXTOID   0x30

Definition at line 70 of file pg_control.h.

◆ XLOG_NOOP

#define XLOG_NOOP   0x20

Definition at line 69 of file pg_control.h.

◆ XLOG_OVERWRITE_CONTRECORD

#define XLOG_OVERWRITE_CONTRECORD   0xD0

Definition at line 80 of file pg_control.h.

◆ XLOG_PARAMETER_CHANGE

#define XLOG_PARAMETER_CHANGE   0x60

Definition at line 73 of file pg_control.h.

◆ XLOG_RESTORE_POINT

#define XLOG_RESTORE_POINT   0x70

Definition at line 74 of file pg_control.h.

◆ XLOG_SWITCH

#define XLOG_SWITCH   0x40

Definition at line 71 of file pg_control.h.

Typedef Documentation

◆ CheckPoint

typedef struct CheckPoint CheckPoint

◆ ControlFileData

◆ DBState

typedef enum DBState DBState

Enumeration Type Documentation

◆ DBState

enum DBState
Enumerator
DB_STARTUP 
DB_SHUTDOWNED 
DB_SHUTDOWNED_IN_RECOVERY 
DB_SHUTDOWNING 
DB_IN_CRASH_RECOVERY 
DB_IN_ARCHIVE_RECOVERY 
DB_IN_PRODUCTION 

Definition at line 88 of file pg_control.h.

89 {
90  DB_STARTUP = 0,
97 } DBState;
DBState
Definition: pg_control.h:89
@ DB_IN_PRODUCTION
Definition: pg_control.h:96
@ DB_STARTUP
Definition: pg_control.h:90
@ DB_SHUTDOWNING
Definition: pg_control.h:93
@ DB_IN_ARCHIVE_RECOVERY
Definition: pg_control.h:95
@ DB_SHUTDOWNED_IN_RECOVERY
Definition: pg_control.h:92
@ DB_SHUTDOWNED
Definition: pg_control.h:91
@ DB_IN_CRASH_RECOVERY
Definition: pg_control.h:94

Function Documentation

◆ StaticAssertDecl() [1/2]

StaticAssertDecl ( sizeof(ControlFileData)<=  PG_CONTROL_FILE_SIZE,
"sizeof(ControlFileData) exceeds PG_CONTROL_FILE_SIZE  
)

◆ StaticAssertDecl() [2/2]

StaticAssertDecl ( sizeof(ControlFileData)<=  PG_CONTROL_MAX_SAFE_SIZE,
"pg_control is too large for atomic disk writes"   
)