diff options
Diffstat (limited to 'src/include/access/xlog.h')
-rw-r--r-- | src/include/access/xlog.h | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/src/include/access/xlog.h b/src/include/access/xlog.h index 59ebccb19e9..d051ee02bc3 100644 --- a/src/include/access/xlog.h +++ b/src/include/access/xlog.h @@ -126,6 +126,14 @@ typedef enum WalLevel } WalLevel; extern int wal_level; +/* Recovery states */ +typedef enum RecoveryState +{ + RECOVERY_STATE_CRASH = 0, /* crash recovery */ + RECOVERY_STATE_ARCHIVE, /* archive recovery */ + RECOVERY_STATE_DONE /* currently in production */ +} RecoveryState; + /* Is WAL archiving enabled (always or only while server is running normally)? */ #define XLogArchivingActive() \ (XLogArchiveMode > ARCHIVE_MODE_OFF && wal_level >= WAL_LEVEL_ARCHIVE) @@ -230,6 +238,7 @@ extern const char *xlog_identify(uint8 info); extern void issue_xlog_fsync(int fd, XLogSegNo segno); extern bool RecoveryInProgress(void); +extern RecoveryState GetRecoveryState(void); extern bool HotStandbyActive(void); extern bool HotStandbyActiveInReplay(void); extern bool XLogInsertAllowed(void); |