1 /*-------------------------------------------------------------------------
4 * Exports from replication/walsender.c.
6 * Portions Copyright (c) 2010-2019, PostgreSQL Global Development Group
8 * src/include/replication/walsender.h
10 *-------------------------------------------------------------------------
20 * What to do with a snapshot in create replication slot command.
25 CRS_NOEXPORT_SNAPSHOT
,
30 extern bool am_walsender
;
31 extern bool am_cascading_walsender
;
32 extern bool am_db_walsender
;
33 extern bool wake_wal_senders
;
35 /* user-settable parameters */
36 extern int max_wal_senders
;
37 extern int wal_sender_timeout
;
38 extern bool log_replication_commands
;
40 extern void InitWalSender(void);
41 extern bool exec_replication_command(const char *query_string
);
42 extern void WalSndErrorCleanup(void);
43 extern void WalSndSignals(void);
44 extern Size
WalSndShmemSize(void);
45 extern void WalSndShmemInit(void);
46 extern void WalSndWakeup(void);
47 extern void WalSndInitStopping(void);
48 extern void WalSndWaitStopping(void);
49 extern void HandleWalSndInitStopping(void);
50 extern void WalSndRqstFileReload(void);
53 * Remember that we want to wakeup walsenders later
55 * This is separated from doing the actual wakeup because the writeout is done
56 * while holding contended locks.
58 #define WalSndWakeupRequest() \
59 do { wake_wal_senders = true; } while (0)
62 * wakeup walsenders if there is work to be done
64 #define WalSndWakeupProcessRequests() \
67 if (wake_wal_senders) \
69 wake_wal_senders = false; \
70 if (max_wal_senders > 0) \
75 #endif /* _WALSENDER_H */