1/*-------------------------------------------------------------------------
4 * Frontend exposed definitions for hot standby mode.
7 * Portions Copyright (c) 1996-2025, PostgreSQL Global Development Group
8 * Portions Copyright (c) 1994, Regents of the University of California
10 * src/include/storage/standbydefs.h
12 *-------------------------------------------------------------------------
22/* Recovery handlers for the Standby Rmgr (RM_STANDBY_ID) */
29 bool relcacheInitFileInval);
34 #define XLOG_STANDBY_LOCK 0x00
35 #define XLOG_RUNNING_XACTS 0x10
36 #define XLOG_INVALIDATIONS 0x20
40 int nlocks;
/* number of entries in locks array */
45 * When we write running xact data to WAL, we use this structure.
49 int xcnt;
/* # of xact ids in xids[] */
50 int subxcnt;
/* # of subxact ids in xids[] */
60 * Invalidations for standby, currently only when transactions without an
61 * assigned xid commit.
68 int nmsgs;
/* number of shared inval msgs */
72 #define MinSizeOfInvalidations offsetof(xl_invalidations, msgs)
74#endif /* STANDBYDEFS_H */
#define FLEXIBLE_ARRAY_MEMBER
void standby_redo(XLogReaderState *record)
struct xl_standby_locks xl_standby_locks
void standby_desc(StringInfo buf, XLogReaderState *record)
const char * standby_identify(uint8 info)
void standby_desc_invalidations(StringInfo buf, int nmsgs, SharedInvalidationMessage *msgs, Oid dbId, Oid tsId, bool relcacheInitFileInval)
struct xl_invalidations xl_invalidations
struct xl_running_xacts xl_running_xacts
SharedInvalidationMessage msgs[FLEXIBLE_ARRAY_MEMBER]
bool relcacheInitFileInval
TransactionId latestCompletedXid
TransactionId oldestRunningXid
TransactionId xids[FLEXIBLE_ARRAY_MEMBER]
xl_standby_lock locks[FLEXIBLE_ARRAY_MEMBER]