220 bool xlog_logical_info;
226 return xlog_logical_info;
268 elog(
DEBUG1,
"aborting logical decoding activation process");
421 errmsg(
"logical decoding is enabled upon creating a new logical replication slot"));
448 elog(
DEBUG1,
"requested disabling logical decoding");
460 bool pending_disable;
479 if (!pending_disable)
530 errmsg(
"logical decoding is disabled because there are no valid logical replication slots"));
606 "update logical decoding status to %d at the end of recovery",
#define Assert(condition)
void WakeupCheckpointer(void)
#define ereport(elevel,...)
#define INJECTION_POINT(name, arg)
#define PG_ENSURE_ERROR_CLEANUP(cleanup_function, arg)
#define PG_END_ENSURE_ERROR_CLEANUP(cleanup_function, arg)
void InitializeProcessXLogLogicalInfo(void)
void UpdateLogicalDecodingStatusEndOfRecovery(void)
bool IsLogicalDecodingEnabled(void)
void EnsureLogicalDecodingEnabled(void)
static void abort_logical_decoding_activation(int code, Datum arg)
bool ProcessBarrierUpdateXLogLogicalInfo(void)
static bool XLogLogicalInfoUpdatePending
void AtEOXact_LogicalCtl(void)
static void update_xlog_logical_info(void)
bool IsXLogLogicalInfoEnabled(void)
void StartupLogicalDecodingStatus(bool last_status)
void DisableLogicalDecoding(void)
static LogicalDecodingCtlData * LogicalDecodingCtl
void EnableLogicalDecoding(void)
void RequestDisableLogicalDecoding(void)
const ShmemCallbacks LogicalDecodingCtlShmemCallbacks
static void write_logical_decoding_status_update_record(bool status)
void DisableLogicalDecodingIfNecessary(void)
static void LogicalDecodingCtlShmemRequest(void *arg)
bool LWLockAcquire(LWLock *lock, LWLockMode mode)
void LWLockRelease(LWLock *lock)
#define START_CRIT_SECTION()
#define END_CRIT_SECTION()
#define XLOG_LOGICAL_DECODING_STATUS_CHANGE
void WaitForProcSignalBarrier(uint64 generation)
uint64 EmitProcSignalBarrier(ProcSignalBarrierType type)
@ PROCSIGNAL_BARRIER_UPDATE_XLOG_LOGICAL_INFO
#define ShmemRequestStruct(...)
bool CheckLogicalSlotExists(void)
ReplicationSlot * MyReplicationSlot
bool logical_decoding_enabled
ShmemRequestCallback request_fn
#define InvalidTransactionId
TransactionId GetTopTransactionIdIfAny(void)
bool RecoveryInProgress(void)
void XLogFlush(XLogRecPtr record)
XLogRecPtr XLogInsert(RmgrId rmid, uint8 info)
void XLogRegisterData(const void *data, uint32 len)
void XLogBeginInsert(void)