diff options
| author | Magnus Hagander | 2011-01-11 20:25:28 +0000 |
|---|---|---|
| committer | Magnus Hagander | 2011-01-11 20:25:28 +0000 |
| commit | 4c8e20f815cbdf043d6d27906fd85ae50c9e4870 (patch) | |
| tree | bae18c14b6b970108fffa0a1f27085b6e65dd0b1 /src/include/replication | |
| parent | 47a5f3e9dab68f47ebadc759afb97b900c437c54 (diff) | |
Track walsender state in shared memory and expose in pg_stat_replication
Diffstat (limited to 'src/include/replication')
| -rw-r--r-- | src/include/replication/walsender.h | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/src/include/replication/walsender.h b/src/include/replication/walsender.h index d6767b9dcf3..0b4a143f827 100644 --- a/src/include/replication/walsender.h +++ b/src/include/replication/walsender.h @@ -16,12 +16,22 @@ #include "storage/latch.h" #include "storage/spin.h" + +typedef enum WalSndState +{ + WALSNDSTATE_STARTUP = 0, + WALSNDSTATE_BACKUP, + WALSNDSTATE_CATCHUP, + WALSNDSTATE_STREAMING +} WalSndState; + /* * Each walsender has a WalSnd struct in shared memory. */ 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 */ slock_t mutex; /* locks shared variables shown above */ @@ -53,6 +63,7 @@ extern void WalSndSignals(void); extern Size WalSndShmemSize(void); extern void WalSndShmemInit(void); extern void WalSndWakeup(void); +extern void WalSndSetState(WalSndState state); extern Datum pg_stat_get_wal_senders(PG_FUNCTION_ARGS); |
