|
PostgreSQL Source Code git master
|
#include <netdb.h>#include "access/xlog.h"#include "access/xlogdefs.h"#include "pgtime.h"#include "port/atomics.h"#include "replication/logicalproto.h"#include "replication/walsender.h"#include "storage/condition_variable.h"#include "storage/spin.h"#include "utils/tuplestore.h"

Go to the source code of this file.
Data Structures | |
| struct | WalRcvData |
| struct | WalRcvStreamOptions |
| struct | WalRcvExecResult |
| struct | WalReceiverFunctionsType |
Macros | |
| #define | MAXCONNINFO 1024 |
| #define | AllowCascadeReplication() (EnableHotStandby && max_wal_senders > 0) |
| #define | walrcv_connect(conninfo, replication, logical, must_use_password, appname, err) WalReceiverFunctions->walrcv_connect(conninfo, replication, logical, must_use_password, appname, err) |
| #define | walrcv_check_conninfo(conninfo, must_use_password) WalReceiverFunctions->walrcv_check_conninfo(conninfo, must_use_password) |
| #define | walrcv_get_conninfo(conn) WalReceiverFunctions->walrcv_get_conninfo(conn) |
| #define | walrcv_get_senderinfo(conn, sender_host, sender_port) WalReceiverFunctions->walrcv_get_senderinfo(conn, sender_host, sender_port) |
| #define | walrcv_identify_system(conn, primary_tli) WalReceiverFunctions->walrcv_identify_system(conn, primary_tli) |
| #define | walrcv_get_dbname_from_conninfo(conninfo) WalReceiverFunctions->walrcv_get_dbname_from_conninfo(conninfo) |
| #define | walrcv_server_version(conn) WalReceiverFunctions->walrcv_server_version(conn) |
| #define | walrcv_readtimelinehistoryfile(conn, tli, filename, content, size) WalReceiverFunctions->walrcv_readtimelinehistoryfile(conn, tli, filename, content, size) |
| #define | walrcv_startstreaming(conn, options) WalReceiverFunctions->walrcv_startstreaming(conn, options) |
| #define | walrcv_endstreaming(conn, next_tli) WalReceiverFunctions->walrcv_endstreaming(conn, next_tli) |
| #define | walrcv_receive(conn, buffer, wait_fd) WalReceiverFunctions->walrcv_receive(conn, buffer, wait_fd) |
| #define | walrcv_send(conn, buffer, nbytes) WalReceiverFunctions->walrcv_send(conn, buffer, nbytes) |
| #define | walrcv_create_slot(conn, slotname, temporary, two_phase, failover, snapshot_action, lsn) WalReceiverFunctions->walrcv_create_slot(conn, slotname, temporary, two_phase, failover, snapshot_action, lsn) |
| #define | walrcv_alter_slot(conn, slotname, failover, two_phase) WalReceiverFunctions->walrcv_alter_slot(conn, slotname, failover, two_phase) |
| #define | walrcv_get_backend_pid(conn) WalReceiverFunctions->walrcv_get_backend_pid(conn) |
| #define | walrcv_exec(conn, exec, nRetTypes, retTypes) WalReceiverFunctions->walrcv_exec(conn, exec, nRetTypes, retTypes) |
| #define | walrcv_disconnect(conn) WalReceiverFunctions->walrcv_disconnect(conn) |
Typedefs | |
| typedef struct WalReceiverConn | WalReceiverConn |
| typedef struct WalRcvExecResult | WalRcvExecResult |
| typedef WalReceiverConn *(* | walrcv_connect_fn) (const char *conninfo, bool replication, bool logical, bool must_use_password, const char *appname, char **err) |
| typedef void(* | walrcv_check_conninfo_fn) (const char *conninfo, bool must_use_password) |
| typedef char *(* | walrcv_get_conninfo_fn) (WalReceiverConn *conn) |
| typedef void(* | walrcv_get_senderinfo_fn) (WalReceiverConn *conn, char **sender_host, int *sender_port) |
| typedef char *(* | walrcv_identify_system_fn) (WalReceiverConn *conn, TimeLineID *primary_tli) |
| typedef char *(* | walrcv_get_dbname_from_conninfo_fn) (const char *conninfo) |
| typedef int(* | walrcv_server_version_fn) (WalReceiverConn *conn) |
| typedef void(* | walrcv_readtimelinehistoryfile_fn) (WalReceiverConn *conn, TimeLineID tli, char **filename, char **content, int *size) |
| typedef bool(* | walrcv_startstreaming_fn) (WalReceiverConn *conn, const WalRcvStreamOptions *options) |
| typedef void(* | walrcv_endstreaming_fn) (WalReceiverConn *conn, TimeLineID *next_tli) |
| typedef int(* | walrcv_receive_fn) (WalReceiverConn *conn, char **buffer, pgsocket *wait_fd) |
| typedef void(* | walrcv_send_fn) (WalReceiverConn *conn, const char *buffer, int nbytes) |
| typedef char *(* | walrcv_create_slot_fn) (WalReceiverConn *conn, const char *slotname, bool temporary, bool two_phase, bool failover, CRSSnapshotAction snapshot_action, XLogRecPtr *lsn) |
| typedef void(* | walrcv_alter_slot_fn) (WalReceiverConn *conn, const char *slotname, const bool *failover, const bool *two_phase) |
| typedef pid_t(* | walrcv_get_backend_pid_fn) (WalReceiverConn *conn) |
| typedef WalRcvExecResult *(* | walrcv_exec_fn) (WalReceiverConn *conn, const char *query, const int nRetTypes, const Oid *retTypes) |
| typedef void(* | walrcv_disconnect_fn) (WalReceiverConn *conn) |
| typedef struct WalReceiverFunctionsType | WalReceiverFunctionsType |
Enumerations | |
| enum | WalRcvState { WALRCV_STOPPED , WALRCV_STARTING , WALRCV_STREAMING , WALRCV_WAITING , WALRCV_RESTARTING , WALRCV_STOPPING } |
| enum | WalRcvExecStatus { WALRCV_ERROR , WALRCV_OK_COMMAND , WALRCV_OK_TUPLES , WALRCV_OK_COPY_IN , WALRCV_OK_COPY_OUT , WALRCV_OK_COPY_BOTH } |
Functions | |
| static void | walrcv_clear_result (WalRcvExecResult *walres) |
| pg_noreturn void | WalReceiverMain (const void *startup_data, size_t startup_data_len) |
| void | WalRcvForceReply (void) |
| Size | WalRcvShmemSize (void) |
| void | WalRcvShmemInit (void) |
| void | ShutdownWalRcv (void) |
| bool | WalRcvStreaming (void) |
| bool | WalRcvRunning (void) |
| WalRcvState | WalRcvGetState (void) |
| void | RequestXLogStreaming (TimeLineID tli, XLogRecPtr recptr, const char *conninfo, const char *slotname, bool create_temp_slot) |
| XLogRecPtr | GetWalRcvFlushRecPtr (XLogRecPtr *latestChunkStart, TimeLineID *receiveTLI) |
| XLogRecPtr | GetWalRcvWriteRecPtr (void) |
| int | GetReplicationApplyDelay (void) |
| int | GetReplicationTransferLatency (void) |
| #define AllowCascadeReplication | ( | ) | (EnableHotStandby && max_wal_senders > 0) |
Definition at line 40 of file walreceiver.h.
| #define MAXCONNINFO 1024 |
Definition at line 37 of file walreceiver.h.
| #define walrcv_alter_slot | ( | conn, | |
| slotname, | |||
| failover, | |||
| two_phase | |||
| ) | WalReceiverFunctions->walrcv_alter_slot(conn, slotname, failover, two_phase) |
Definition at line 461 of file walreceiver.h.
| #define walrcv_check_conninfo | ( | conninfo, | |
| must_use_password | |||
| ) | WalReceiverFunctions->walrcv_check_conninfo(conninfo, must_use_password) |
Definition at line 437 of file walreceiver.h.
| #define walrcv_connect | ( | conninfo, | |
| replication, | |||
| logical, | |||
| must_use_password, | |||
| appname, | |||
| err | |||
| ) | WalReceiverFunctions->walrcv_connect(conninfo, replication, logical, must_use_password, appname, err) |
Definition at line 435 of file walreceiver.h.
| #define walrcv_create_slot | ( | conn, | |
| slotname, | |||
| temporary, | |||
| two_phase, | |||
| failover, | |||
| snapshot_action, | |||
| lsn | |||
| ) | WalReceiverFunctions->walrcv_create_slot(conn, slotname, temporary, two_phase, failover, snapshot_action, lsn) |
Definition at line 459 of file walreceiver.h.
| #define walrcv_disconnect | ( | conn | ) | WalReceiverFunctions->walrcv_disconnect(conn) |
Definition at line 467 of file walreceiver.h.
| #define walrcv_endstreaming | ( | conn, | |
| next_tli | |||
| ) | WalReceiverFunctions->walrcv_endstreaming(conn, next_tli) |
Definition at line 453 of file walreceiver.h.
| #define walrcv_exec | ( | conn, | |
| exec, | |||
| nRetTypes, | |||
| retTypes | |||
| ) | WalReceiverFunctions->walrcv_exec(conn, exec, nRetTypes, retTypes) |
Definition at line 465 of file walreceiver.h.
| #define walrcv_get_backend_pid | ( | conn | ) | WalReceiverFunctions->walrcv_get_backend_pid(conn) |
Definition at line 463 of file walreceiver.h.
| #define walrcv_get_conninfo | ( | conn | ) | WalReceiverFunctions->walrcv_get_conninfo(conn) |
Definition at line 439 of file walreceiver.h.
| #define walrcv_get_dbname_from_conninfo | ( | conninfo | ) | WalReceiverFunctions->walrcv_get_dbname_from_conninfo(conninfo) |
Definition at line 445 of file walreceiver.h.
| #define walrcv_get_senderinfo | ( | conn, | |
| sender_host, | |||
| sender_port | |||
| ) | WalReceiverFunctions->walrcv_get_senderinfo(conn, sender_host, sender_port) |
Definition at line 441 of file walreceiver.h.
| #define walrcv_identify_system | ( | conn, | |
| primary_tli | |||
| ) | WalReceiverFunctions->walrcv_identify_system(conn, primary_tli) |
Definition at line 443 of file walreceiver.h.
| #define walrcv_readtimelinehistoryfile | ( | conn, | |
| tli, | |||
| filename, | |||
| content, | |||
| size | |||
| ) | WalReceiverFunctions->walrcv_readtimelinehistoryfile(conn, tli, filename, content, size) |
Definition at line 449 of file walreceiver.h.
| #define walrcv_receive | ( | conn, | |
| buffer, | |||
| wait_fd | |||
| ) | WalReceiverFunctions->walrcv_receive(conn, buffer, wait_fd) |
Definition at line 455 of file walreceiver.h.
| #define walrcv_send | ( | conn, | |
| buffer, | |||
| nbytes | |||
| ) | WalReceiverFunctions->walrcv_send(conn, buffer, nbytes) |
Definition at line 457 of file walreceiver.h.
| #define walrcv_server_version | ( | conn | ) | WalReceiverFunctions->walrcv_server_version(conn) |
Definition at line 447 of file walreceiver.h.
| #define walrcv_startstreaming | ( | conn, | |
| options | |||
| ) | WalReceiverFunctions->walrcv_startstreaming(conn, options) |
Definition at line 451 of file walreceiver.h.
| typedef void(* walrcv_alter_slot_fn) (WalReceiverConn *conn, const char *slotname, const bool *failover, const bool *two_phase) |
Definition at line 379 of file walreceiver.h.
| typedef void(* walrcv_check_conninfo_fn) (const char *conninfo, bool must_use_password) |
Definition at line 254 of file walreceiver.h.
| typedef WalReceiverConn *(* walrcv_connect_fn) (const char *conninfo, bool replication, bool logical, bool must_use_password, const char *appname, char **err) |
Definition at line 242 of file walreceiver.h.
| typedef char *(* walrcv_create_slot_fn) (WalReceiverConn *conn, const char *slotname, bool temporary, bool two_phase, bool failover, CRSSnapshotAction snapshot_action, XLogRecPtr *lsn) |
Definition at line 365 of file walreceiver.h.
| typedef void(* walrcv_disconnect_fn) (WalReceiverConn *conn) |
Definition at line 410 of file walreceiver.h.
| typedef void(* walrcv_endstreaming_fn) (WalReceiverConn *conn, TimeLineID *next_tli) |
Definition at line 330 of file walreceiver.h.
| typedef WalRcvExecResult *(* walrcv_exec_fn) (WalReceiverConn *conn, const char *query, const int nRetTypes, const Oid *retTypes) |
Definition at line 400 of file walreceiver.h.
| typedef pid_t(* walrcv_get_backend_pid_fn) (WalReceiverConn *conn) |
Definition at line 390 of file walreceiver.h.
| typedef char *(* walrcv_get_conninfo_fn) (WalReceiverConn *conn) |
Definition at line 263 of file walreceiver.h.
| typedef char *(* walrcv_get_dbname_from_conninfo_fn) (const char *conninfo) |
Definition at line 291 of file walreceiver.h.
| typedef void(* walrcv_get_senderinfo_fn) (WalReceiverConn *conn, char **sender_host, int *sender_port) |
Definition at line 272 of file walreceiver.h.
| typedef char *(* walrcv_identify_system_fn) (WalReceiverConn *conn, TimeLineID *primary_tli) |
Definition at line 283 of file walreceiver.h.
| typedef void(* walrcv_readtimelinehistoryfile_fn) (WalReceiverConn *conn, TimeLineID tli, char **filename, char **content, int *size) |
Definition at line 307 of file walreceiver.h.
| typedef int(* walrcv_receive_fn) (WalReceiverConn *conn, char **buffer, pgsocket *wait_fd) |
Definition at line 341 of file walreceiver.h.
| typedef void(* walrcv_send_fn) (WalReceiverConn *conn, const char *buffer, int nbytes) |
Definition at line 351 of file walreceiver.h.
| typedef int(* walrcv_server_version_fn) (WalReceiverConn *conn) |
Definition at line 298 of file walreceiver.h.
| typedef bool(* walrcv_startstreaming_fn) (WalReceiverConn *conn, const WalRcvStreamOptions *options) |
Definition at line 321 of file walreceiver.h.
| typedef struct WalRcvExecResult WalRcvExecResult |
| typedef struct WalReceiverConn WalReceiverConn |
Definition at line 195 of file walreceiver.h.
| typedef struct WalReceiverFunctionsType WalReceiverFunctionsType |
| enum WalRcvExecStatus |
| Enumerator | |
|---|---|
| WALRCV_ERROR | |
| WALRCV_OK_COMMAND | |
| WALRCV_OK_TUPLES | |
| WALRCV_OK_COPY_IN | |
| WALRCV_OK_COPY_OUT | |
| WALRCV_OK_COPY_BOTH | |
Definition at line 202 of file walreceiver.h.
| enum WalRcvState |
| Enumerator | |
|---|---|
| WALRCV_STOPPED | |
| WALRCV_STARTING | |
| WALRCV_STREAMING | |
| WALRCV_WAITING | |
| WALRCV_RESTARTING | |
| WALRCV_STOPPING | |
Definition at line 45 of file walreceiver.h.
| int GetReplicationApplyDelay | ( | void | ) |
Definition at line 379 of file walreceiverfuncs.c.
References WalRcvData::flushedUpto, GetCurrentChunkReplayStartTime(), GetCurrentTimestamp(), GetXLogReplayRecPtr(), WalRcvData::mutex, SpinLockAcquire, SpinLockRelease, TimestampDifferenceMilliseconds(), and WalRcv.
Referenced by ProcessWalSndrMessage().
| int GetReplicationTransferLatency | ( | void | ) |
Definition at line 409 of file walreceiverfuncs.c.
References WalRcvData::lastMsgReceiptTime, WalRcvData::lastMsgSendTime, WalRcvData::mutex, SpinLockAcquire, SpinLockRelease, TimestampDifferenceMilliseconds(), and WalRcv.
Referenced by ProcessWalSndrMessage().
| XLogRecPtr GetWalRcvFlushRecPtr | ( | XLogRecPtr * | latestChunkStart, |
| TimeLineID * | receiveTLI | ||
| ) |
Definition at line 346 of file walreceiverfuncs.c.
References WalRcvData::flushedUpto, WalRcvData::latestChunkStart, WalRcvData::mutex, WalRcvData::receivedTLI, receiveTLI, SpinLockAcquire, SpinLockRelease, and WalRcv.
Referenced by CreateRestartPoint(), GetLatestLSN(), GetStandbyFlushRecPtr(), pg_last_wal_receive_lsn(), reserve_wal_for_local_slot(), and WaitForWALToBecomeAvailable().
| XLogRecPtr GetWalRcvWriteRecPtr | ( | void | ) |
Definition at line 367 of file walreceiverfuncs.c.
References pg_atomic_read_u64(), WalRcv, and WalRcvData::writtenUpto.
| void RequestXLogStreaming | ( | TimeLineID | tli, |
| XLogRecPtr | recptr, | ||
| const char * | conninfo, | ||
| const char * | slotname, | ||
| bool | create_temp_slot | ||
| ) |
Definition at line 260 of file walreceiverfuncs.c.
References Assert(), WalRcvData::conninfo, WalRcvData::flushedUpto, GetPGProcByNumber, INVALID_PROC_NUMBER, WalRcvData::is_temp_slot, WalRcvData::latestChunkStart, MAXCONNINFO, WalRcvData::mutex, NAMEDATALEN, now(), PMSIGNAL_START_WALRECEIVER, WalRcvData::procno, WalRcvData::receivedTLI, WalRcvData::receiveStart, WalRcvData::receiveStartTLI, SendPostmasterSignal(), SetLatch(), WalRcvData::slotname, SpinLockAcquire, SpinLockRelease, WalRcvData::startTime, strlcpy(), wal_segment_size, WalRcv, WALRCV_RESTARTING, WALRCV_STARTING, WALRCV_STOPPED, WALRCV_WAITING, WalRcvData::walRcvState, and XLogSegmentOffset.
Referenced by WaitForWALToBecomeAvailable().
| void ShutdownWalRcv | ( | void | ) |
Definition at line 193 of file walreceiverfuncs.c.
References ConditionVariableBroadcast(), ConditionVariableCancelSleep(), ConditionVariablePrepareToSleep(), ConditionVariableSleep(), kill, WalRcvData::mutex, WalRcvData::pid, SpinLockAcquire, SpinLockRelease, WalRcv, WALRCV_RESTARTING, WALRCV_STARTING, WALRCV_STOPPED, WALRCV_STOPPING, WALRCV_STREAMING, WALRCV_WAITING, WalRcvRunning(), WalRcvData::walRcvState, and WalRcvData::walRcvStoppedCV.
Referenced by XLogShutdownWalRcv().
|
inlinestatic |
Definition at line 471 of file walreceiver.h.
References WalRcvExecResult::err, FreeTupleDesc(), pfree(), WalRcvExecResult::tupledesc, WalRcvExecResult::tuplestore, and tuplestore_end().
Referenced by check_pub_dead_tuple_retention(), check_publications(), check_publications_origin_sequences(), check_publications_origin_tables(), copy_sequences(), copy_table(), fetch_relation_list(), fetch_remote_table_info(), LogicalRepSyncTableStart(), ReplicationSlotDropAtPubNode(), synchronize_slots(), and validate_remote_info().
| void WalRcvForceReply | ( | void | ) |
Definition at line 1350 of file walreceiver.c.
References WalRcvData::force_reply, GetPGProcByNumber, INVALID_PROC_NUMBER, WalRcvData::mutex, WalRcvData::procno, SetLatch(), SpinLockAcquire, SpinLockRelease, and WalRcv.
Referenced by ApplyWalRecord(), and WaitForWALToBecomeAvailable().
| WalRcvState WalRcvGetState | ( | void | ) |
Definition at line 124 of file walreceiverfuncs.c.
References WalRcvData::mutex, SpinLockAcquire, SpinLockRelease, WalRcv, and WalRcvData::walRcvState.
Referenced by WaitForWALToBecomeAvailable().
| bool WalRcvRunning | ( | void | ) |
Definition at line 76 of file walreceiverfuncs.c.
References ConditionVariableBroadcast(), WalRcvData::mutex, now(), SpinLockAcquire, SpinLockRelease, WalRcvData::startTime, WalRcv, WALRCV_STARTING, WALRCV_STARTUP_TIMEOUT, WALRCV_STOPPED, WalRcvData::walRcvState, and WalRcvData::walRcvStoppedCV.
Referenced by ShutdownWalRcv(), and StartupRequestWalReceiverRestart().
| void WalRcvShmemInit | ( | void | ) |
Definition at line 55 of file walreceiverfuncs.c.
References ConditionVariableInit(), INVALID_PROC_NUMBER, MemSet, WalRcvData::mutex, pg_atomic_init_u64(), WalRcvData::procno, ShmemInitStruct(), SpinLockInit, WalRcv, WALRCV_STOPPED, WalRcvShmemSize(), WalRcvData::walRcvState, WalRcvData::walRcvStoppedCV, and WalRcvData::writtenUpto.
Referenced by CreateOrAttachShmemStructs().
| Size WalRcvShmemSize | ( | void | ) |
Definition at line 44 of file walreceiverfuncs.c.
References add_size().
Referenced by CalculateShmemSize(), and WalRcvShmemInit().
| bool WalRcvStreaming | ( | void | ) |
Definition at line 141 of file walreceiverfuncs.c.
References ConditionVariableBroadcast(), WalRcvData::mutex, now(), SpinLockAcquire, SpinLockRelease, WalRcvData::startTime, WalRcv, WALRCV_RESTARTING, WALRCV_STARTING, WALRCV_STARTUP_TIMEOUT, WALRCV_STOPPED, WALRCV_STREAMING, WalRcvData::walRcvState, and WalRcvData::walRcvStoppedCV.
Referenced by FinishWalRecovery(), and WaitForWALToBecomeAvailable().
| pg_noreturn void WalReceiverMain | ( | const void * | startup_data, |
| size_t | startup_data_len | ||
| ) |
Definition at line 152 of file walreceiver.c.
References ARCHIVE_MODE_ALWAYS, Assert(), AuxiliaryProcessMainCommon(), B_WAL_RECEIVER, buf, CHECK_FOR_INTERRUPTS, close, cluster_name, ConditionVariableBroadcast(), ConfigReloadPending, WalRcvData::conninfo, DEBUG1, die, elog, ereport, err(), errcode(), errcode_for_file_access(), errdetail(), errmsg(), ERROR, FATAL, WalRcvData::force_reply, GetCurrentTimestamp(), GetSystemIdentifier(), GetXLogReplayRecPtr(), i, initStringInfo(), WalRcvData::is_temp_slot, WalRcvData::lastMsgReceiptTime, WalRcvData::lastMsgSendTime, WalRcvData::latestWalEndTime, len, load_file(), LOG, LogstreamResult, LSN_FORMAT_ARGS, MAXCONNINFO, MAXFNAMELEN, Min, WalRcvData::mutex, MyBackendType, MyLatch, MyProcNumber, MyProcPid, NAMEDATALEN, now(), NUM_WALRCV_WAKEUPS, on_shmem_exit(), options, PANIC, pfree(), pg_atomic_write_u64(), pg_memory_barrier, PGC_SIGHUP, PGINVALID_SOCKET, pgstat_report_wal(), WalRcvData::pid, PointerGetDatum(), pqsignal, proc_exit(), ProcessConfigFile(), WalRcvData::procno, procsignal_sigusr1_handler(), WalRcvData::ready_to_display, WalRcvData::receiveStart, WalRcvData::receiveStartTLI, RecoveryInProgress(), recvFile, recvFileTLI, recvSegNo, reply_message, ResetLatch(), WalRcvData::sender_host, WalRcvData::sender_port, SIGALRM, SIGCHLD, SIGHUP, SignalHandlerForConfigReload(), SIGPIPE, SIGUSR1, SIGUSR2, WalRcvData::slotname, snprintf, SpinLockAcquire, SpinLockRelease, strlcpy(), TIMESTAMP_INFINITY, TimestampDifferenceMilliseconds(), UINT64_FORMAT, UnBlockSig, WaitLatchOrSocket(), wakeup, wal_segment_size, WalRcv, walrcv_connect, walrcv_create_slot, walrcv_endstreaming, walrcv_get_backend_pid, walrcv_get_conninfo, walrcv_get_senderinfo, walrcv_identify_system, walrcv_receive, WALRCV_RESTARTING, WALRCV_STARTING, walrcv_startstreaming, WALRCV_STOPPED, WALRCV_STOPPING, WALRCV_STREAMING, WALRCV_WAITING, WALRCV_WAKEUP_PING, WALRCV_WAKEUP_TERMINATE, WalRcvComputeNextWakeup(), WalRcvDie(), WalRcvFetchTimeLineHistoryFiles(), WalRcvData::walRcvState, WalRcvData::walRcvStoppedCV, WalRcvWaitForStartPosition(), WalReceiverFunctions, WL_EXIT_ON_PM_DEATH, WL_LATCH_SET, WL_SOCKET_READABLE, WL_TIMEOUT, wrconn, WalRcvData::writtenUpto, XLogArchiveForceDone(), XLogArchiveMode, XLogArchiveNotify(), XLogFileName(), XLogWalRcvFlush(), XLogWalRcvProcessMsg(), XLogWalRcvSendHSFeedback(), and XLogWalRcvSendReply().
|
extern |
Definition at line 90 of file walreceiver.c.
Referenced by slotsync_reread_config(), ValidateSlotSyncParams(), WalRcvComputeNextWakeup(), and XLogWalRcvSendHSFeedback().
|
extern |
Definition at line 88 of file walreceiver.c.
Referenced by adjust_xid_advance_interval(), send_feedback(), WalRcvComputeNextWakeup(), XLogWalRcvSendHSFeedback(), and XLogWalRcvSendReply().
|
extern |
Definition at line 89 of file walreceiver.c.
Referenced by logicalrep_worker_launch(), LogicalRepApplyLoop(), and WalRcvComputeNextWakeup().
|
extern |
Definition at line 34 of file walreceiverfuncs.c.
Referenced by GetReplicationApplyDelay(), GetReplicationTransferLatency(), GetWalRcvFlushRecPtr(), GetWalRcvWriteRecPtr(), pg_stat_get_wal_receiver(), ProcessWalSndrMessage(), RequestXLogStreaming(), ShutdownWalRcv(), WalRcvDie(), WalRcvForceReply(), WalRcvGetState(), WalRcvRunning(), WalRcvShmemInit(), WalRcvStreaming(), WalRcvWaitForStartPosition(), WalReceiverMain(), XLogWalRcvFlush(), and XLogWalRcvWrite().
|
extern |
Definition at line 94 of file walreceiver.c.
Referenced by _PG_init(), and WalReceiverMain().