diff options
Diffstat (limited to 'src/include')
-rw-r--r-- | src/include/access/xlog.h | 6 | ||||
-rw-r--r-- | src/include/replication/walsender.h | 5 |
2 files changed, 9 insertions, 2 deletions
diff --git a/src/include/access/xlog.h b/src/include/access/xlog.h index 7056fd61891..cdbf63fa76e 100644 --- a/src/include/access/xlog.h +++ b/src/include/access/xlog.h @@ -221,6 +221,9 @@ extern int wal_level; /* Do we need to WAL-log information required only for Hot Standby? */ #define XLogStandbyInfoActive() (wal_level >= WAL_LEVEL_HOT_STANDBY) +/* Can we allow the standby to accept replication connection from another standby? */ +#define AllowCascadeReplication() (EnableHotStandby && max_wal_senders > 0) + #ifdef WAL_DEBUG extern bool XLOG_DEBUG; #endif @@ -292,7 +295,8 @@ extern bool RecoveryInProgress(void); extern bool HotStandbyActive(void); extern bool XLogInsertAllowed(void); extern void GetXLogReceiptTime(TimestampTz *rtime, bool *fromStream); -extern XLogRecPtr GetXLogReplayRecPtr(void); +extern XLogRecPtr GetXLogReplayRecPtr(XLogRecPtr *restoreLastRecPtr); +extern XLogRecPtr GetStandbyFlushRecPtr(void); extern void UpdateControlFile(void); extern uint64 GetSystemIdentifier(void); diff --git a/src/include/replication/walsender.h b/src/include/replication/walsender.h index 6ee8668d0a4..cb8e70ef38a 100644 --- a/src/include/replication/walsender.h +++ b/src/include/replication/walsender.h @@ -35,6 +35,7 @@ typedef struct WalSnd pid_t pid; /* this walsender's process id, or 0 */ WalSndState state; /* this walsender's state */ XLogRecPtr sentPtr; /* WAL has been sent up to this point */ + bool needreload; /* does currently-open file need to be reloaded? */ /* * The xlog locations that have been written, flushed, and applied by @@ -92,6 +93,7 @@ extern WalSndCtlData *WalSndCtl; /* global state */ extern bool am_walsender; +extern bool am_cascading_walsender; extern volatile sig_atomic_t walsender_shutdown_requested; extern volatile sig_atomic_t walsender_ready_to_stop; @@ -106,7 +108,8 @@ extern Size WalSndShmemSize(void); extern void WalSndShmemInit(void); extern void WalSndWakeup(void); extern void WalSndSetState(WalSndState state); -extern void XLogRead(char *buf, XLogRecPtr recptr, Size nbytes); +extern void XLogRead(char *buf, XLogRecPtr startptr, Size count); +extern void WalSndRqstFileReload(void); extern Datum pg_stat_get_wal_senders(PG_FUNCTION_ARGS); |