12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667 |
- /*-------------------------------------------------------------------------
- *
- * walsender.h
- * Exports from replication/walsender.c.
- *
- * Portions Copyright (c) 2010-2016, PostgreSQL Global Development Group
- *
- * src/include/replication/walsender.h
- *
- *-------------------------------------------------------------------------
- */
- #ifndef _WALSENDER_H
- #define _WALSENDER_H
- #include <signal.h>
- #include "fmgr.h"
- /* global state */
- extern bool am_walsender;
- extern bool am_cascading_walsender;
- extern bool am_db_walsender;
- extern bool wake_wal_senders;
- /* user-settable parameters */
- extern int max_wal_senders;
- extern int wal_sender_timeout;
- extern bool log_replication_commands;
- extern void InitWalSender(void);
- extern void exec_replication_command(const char *query_string);
- extern void WalSndErrorCleanup(void);
- extern void WalSndSignals(void);
- extern Size WalSndShmemSize(void);
- extern void WalSndShmemInit(void);
- extern void WalSndWakeup(void);
- extern void WalSndInitStopping(void);
- extern void WalSndWaitStopping(void);
- extern void HandleWalSndInitStopping(void);
- extern void WalSndRqstFileReload(void);
- extern Datum pg_stat_get_wal_senders(PG_FUNCTION_ARGS);
- /*
- * Remember that we want to wakeup walsenders later
- *
- * This is separated from doing the actual wakeup because the writeout is done
- * while holding contended locks.
- */
- #define WalSndWakeupRequest() \
- do { wake_wal_senders = true; } while (0)
- /*
- * wakeup walsenders if there is work to be done
- */
- #define WalSndWakeupProcessRequests() \
- do \
- { \
- if (wake_wal_senders) \
- { \
- wake_wal_senders = false; \
- if (max_wal_senders > 0) \
- WalSndWakeup(); \
- } \
- } while (0)
- #endif /* _WALSENDER_H */
|