PostgreSQL Source Code git master
|
#include "postgres.h"
#include <ctype.h>
#include <math.h>
#include <time.h>
#include <sys/stat.h>
#include <unistd.h>
#include "access/timeline.h"
#include "access/transam.h"
#include "access/xact.h"
#include "access/xlog_internal.h"
#include "access/xlogarchive.h"
#include "access/xlogprefetcher.h"
#include "access/xlogreader.h"
#include "access/xlogrecovery.h"
#include "access/xlogutils.h"
#include "backup/basebackup.h"
#include "catalog/pg_control.h"
#include "commands/tablespace.h"
#include "common/file_utils.h"
#include "miscadmin.h"
#include "pgstat.h"
#include "postmaster/bgwriter.h"
#include "postmaster/startup.h"
#include "replication/slot.h"
#include "replication/slotsync.h"
#include "replication/walreceiver.h"
#include "storage/fd.h"
#include "storage/ipc.h"
#include "storage/latch.h"
#include "storage/pmsignal.h"
#include "storage/procarray.h"
#include "storage/spin.h"
#include "utils/datetime.h"
#include "utils/fmgrprotos.h"
#include "utils/guc_hooks.h"
#include "utils/pgstat_internal.h"
#include "utils/pg_lsn.h"
#include "utils/ps_status.h"
#include "utils/pg_rusage.h"
Go to the source code of this file.
Data Structures | |
struct | XLogPageReadPrivate |
struct | XLogRecoveryCtlData |
Macros | |
#define | RECOVERY_COMMAND_FILE "recovery.conf" |
#define | RECOVERY_COMMAND_DONE "recovery.done" |
Typedefs | |
typedef struct XLogPageReadPrivate | XLogPageReadPrivate |
typedef struct XLogRecoveryCtlData | XLogRecoveryCtlData |
Enumerations | |
enum | XLogSource { XLOG_FROM_ANY = 0 , XLOG_FROM_ARCHIVE , XLOG_FROM_PG_WAL , XLOG_FROM_STREAM } |
#define RECOVERY_COMMAND_DONE "recovery.done" |
Definition at line 70 of file xlogrecovery.c.
#define RECOVERY_COMMAND_FILE "recovery.conf" |
Definition at line 69 of file xlogrecovery.c.
typedef struct XLogPageReadPrivate XLogPageReadPrivate |
typedef struct XLogRecoveryCtlData XLogRecoveryCtlData |
enum XLogSource |
Enumerator | |
---|---|
XLOG_FROM_ANY | |
XLOG_FROM_ARCHIVE | |
XLOG_FROM_PG_WAL | |
XLOG_FROM_STREAM |
Definition at line 210 of file xlogrecovery.c.
|
static |
Definition at line 1917 of file xlogrecovery.c.
References AdvanceNextFullTransactionIdPastXid(), AllowCascadeReplication, ErrorContextCallback::arg, ErrorContextCallback::callback, CheckRecoveryConsistency(), checkTimeLineSwitch(), doRequestWalReceiverReply, XLogReaderState::EndRecPtr, error_context_stack, GetRmgr(), XLogRecoveryCtlData::info_lck, XLogRecoveryCtlData::lastReplayedEndRecPtr, XLogRecoveryCtlData::lastReplayedReadRecPtr, XLogRecoveryCtlData::lastReplayedTLI, ErrorContextCallback::previous, xl_end_of_recovery::PrevTimeLineID, CheckPoint::PrevTimeLineID, XLogReaderState::ReadRecPtr, RecordKnownAssignedTransactionIds(), RemoveNonParentXlogFiles(), XLogRecoveryCtlData::replayEndRecPtr, XLogRecoveryCtlData::replayEndTLI, RmgrData::rm_redo, rm_redo_error_callback(), SpinLockAcquire, SpinLockRelease, STANDBY_INITIALIZED, standbyState, xl_end_of_recovery::ThisTimeLineID, CheckPoint::ThisTimeLineID, TransactionIdIsValid, verifyBackupPageConsistency(), WalRcvForceReply(), WalSndWakeup(), XLogRecord::xl_info, XLogRecord::xl_rmid, XLogRecord::xl_xid, XLOG_CHECKPOINT_SHUTDOWN, XLOG_END_OF_RECOVERY, XLogPrefetchReconfigure(), xlogreader, XLogRecGetData, xlogrecovery_redo(), XLogRecoveryCtl, and XLR_CHECK_CONSISTENCY.
Referenced by PerformWalRecovery().
void assign_recovery_target | ( | const char * | newval, |
void * | extra | ||
) |
Definition at line 4814 of file xlogrecovery.c.
References error_multiple_recovery_targets(), newval, RECOVERY_TARGET_IMMEDIATE, RECOVERY_TARGET_UNSET, and recoveryTarget.
void assign_recovery_target_lsn | ( | const char * | newval, |
void * | extra | ||
) |
Definition at line 4855 of file xlogrecovery.c.
References error_multiple_recovery_targets(), newval, RECOVERY_TARGET_LSN, RECOVERY_TARGET_UNSET, recoveryTarget, and recoveryTargetLSN.
void assign_recovery_target_name | ( | const char * | newval, |
void * | extra | ||
) |
Definition at line 4890 of file xlogrecovery.c.
References error_multiple_recovery_targets(), newval, RECOVERY_TARGET_NAME, RECOVERY_TARGET_UNSET, recoveryTarget, and recoveryTargetName.
void assign_recovery_target_time | ( | const char * | newval, |
void * | extra | ||
) |
Definition at line 4970 of file xlogrecovery.c.
References error_multiple_recovery_targets(), newval, RECOVERY_TARGET_TIME, RECOVERY_TARGET_UNSET, and recoveryTarget.
void assign_recovery_target_timeline | ( | const char * | newval, |
void * | extra | ||
) |
Definition at line 5021 of file xlogrecovery.c.
References newval, RECOVERY_TARGET_TIMELINE_NUMERIC, recoveryTargetTimeLineGoal, and recoveryTargetTLIRequested.
void assign_recovery_target_xid | ( | const char * | newval, |
void * | extra | ||
) |
Definition at line 5059 of file xlogrecovery.c.
References error_multiple_recovery_targets(), newval, RECOVERY_TARGET_UNSET, RECOVERY_TARGET_XID, recoveryTarget, and recoveryTargetXid.
bool check_primary_slot_name | ( | char ** | newval, |
void ** | extra, | ||
GucSource | source | ||
) |
Definition at line 4760 of file xlogrecovery.c.
References newval, ReplicationSlotValidateName(), and WARNING.
bool check_recovery_target | ( | char ** | newval, |
void ** | extra, | ||
GucSource | source | ||
) |
Definition at line 4800 of file xlogrecovery.c.
References GUC_check_errdetail, and newval.
bool check_recovery_target_lsn | ( | char ** | newval, |
void ** | extra, | ||
GucSource | source | ||
) |
Definition at line 4830 of file xlogrecovery.c.
References guc_malloc(), LOG, newval, and pg_lsn_in_internal().
bool check_recovery_target_name | ( | char ** | newval, |
void ** | extra, | ||
GucSource | source | ||
) |
Definition at line 4874 of file xlogrecovery.c.
References GUC_check_errdetail, MAXFNAMELEN, and newval.
bool check_recovery_target_time | ( | char ** | newval, |
void ** | extra, | ||
GucSource | source | ||
) |
Definition at line 4915 of file xlogrecovery.c.
References DecodeDateTime(), DTK_DATE, GUC_check_errdetail, MAXDATEFIELDS, MAXDATELEN, newval, ParseDateTime(), str, tm, and tm2timestamp().
bool check_recovery_target_timeline | ( | char ** | newval, |
void ** | extra, | ||
GucSource | source | ||
) |
Definition at line 4986 of file xlogrecovery.c.
References GUC_check_errdetail, guc_malloc(), LOG, newval, RECOVERY_TARGET_TIMELINE_CONTROLFILE, RECOVERY_TARGET_TIMELINE_LATEST, and RECOVERY_TARGET_TIMELINE_NUMERIC.
bool check_recovery_target_xid | ( | char ** | newval, |
void ** | extra, | ||
GucSource | source | ||
) |
Definition at line 5034 of file xlogrecovery.c.
References guc_malloc(), LOG, and newval.
|
static |
Definition at line 4453 of file xlogrecovery.c.
References CheckPromoteSignal(), ereport, errmsg(), IsPromoteSignaled(), LocalPromoteIsTriggered, LOG, RemovePromoteSignalFiles(), ResetPromoteSignaled(), and SetPromoteIsTriggered().
Referenced by ReadRecord(), recoveryApplyDelay(), recoveryPausesHere(), RecoveryRequiresIntParameter(), and WaitForWALToBecomeAvailable().
bool CheckPromoteSignal | ( | void | ) |
Definition at line 4483 of file xlogrecovery.c.
References PROMOTE_SIGNAL_FILE, and stat.
Referenced by CheckForStandbyTrigger(), and process_pm_pmsignal().
|
static |
Definition at line 2185 of file xlogrecovery.c.
References Assert(), backupEndPoint, backupEndRequired, backupStartPoint, CheckTablespaceDirectory(), DEBUG1, elog, ereport, errmsg(), InArchiveRecovery, XLogRecoveryCtlData::info_lck, InvalidXLogRecPtr, IsUnderPostmaster, XLogRecoveryCtlData::lastReplayedEndRecPtr, XLogRecoveryCtlData::lastReplayedTLI, LocalHotStandbyActive, LOG, LSN_FORMAT_ARGS, minRecoveryPoint, PMSIGNAL_BEGIN_HOT_STANDBY, PMSIGNAL_RECOVERY_CONSISTENT, reachedConsistency, ReachedEndOfBackup(), SendPostmasterSignal(), XLogRecoveryCtlData::SharedHotStandbyActive, SpinLockAcquire, SpinLockRelease, STANDBY_SNAPSHOT_READY, standbyState, XLogCheckInvalidPages(), XLogRecoveryCtl, and XLogRecPtrIsInvalid.
Referenced by ApplyWalRecord(), PerformWalRecovery(), and ReadRecord().
|
static |
Definition at line 2152 of file xlogrecovery.c.
References AllocateDir(), allow_in_place_tablespaces, dirent::d_name, ereport, errcode(), ERRCODE_DATA_CORRUPTED, errdetail(), errhint(), errmsg(), ERROR, get_dirent_type(), MAXPGPATH, PANIC, PG_TBLSPC_DIR, PGFILETYPE_LNK, ReadDir(), snprintf, and WARNING.
Referenced by CheckRecoveryConsistency().
|
static |
Definition at line 2388 of file xlogrecovery.c.
References ereport, errmsg(), expectedTLEs, LSN_FORMAT_ARGS, minRecoveryPoint, minRecoveryPointTLI, PANIC, tliInHistory(), and XLogRecPtrIsInvalid.
Referenced by ApplyWalRecord().
|
static |
Definition at line 3121 of file xlogrecovery.c.
References XLogRecoveryCtlData::info_lck, RECOVERY_PAUSE_REQUESTED, RECOVERY_PAUSED, XLogRecoveryCtlData::recoveryPauseState, SpinLockAcquire, SpinLockRelease, and XLogRecoveryCtl.
Referenced by recoveryPausesHere(), and RecoveryRequiresIntParameter().
|
static |
Definition at line 4052 of file xlogrecovery.c.
References DEBUG1, LOG, readSource, and XLOG_FROM_PG_WAL.
Referenced by ReadRecord(), and XLogPageRead().
|
static |
Definition at line 484 of file xlogrecovery.c.
References disable_startup_progress_timeout(), and StandbyMode.
Referenced by InitWalRecovery(), and ReadRecord().
|
static |
Definition at line 4788 of file xlogrecovery.c.
References ereport, errcode(), errdetail(), errmsg(), and ERROR.
Referenced by assign_recovery_target(), assign_recovery_target_lsn(), assign_recovery_target_name(), assign_recovery_target_time(), and assign_recovery_target_xid().
EndOfWalRecoveryInfo * FinishWalRecovery | ( | void | ) |
Definition at line 1466 of file xlogrecovery.c.
References abortedRecPtr, EndOfWalRecoveryInfo::abortedRecPtr, ArchiveRecoveryRequested, Assert(), CheckPointLoc, CheckPointTLI, close, EndOfWalRecoveryInfo::endOfLog, EndOfWalRecoveryInfo::endOfLogTLI, XLogReaderState::EndRecPtr, getRecoveryStopReason(), InArchiveRecovery, InRecovery, EndOfWalRecoveryInfo::lastPage, EndOfWalRecoveryInfo::lastPageBeginPtr, EndOfWalRecoveryInfo::lastRec, EndOfWalRecoveryInfo::lastRecTLI, XLogRecoveryCtlData::lastReplayedReadRecPtr, XLogRecoveryCtlData::lastReplayedTLI, len, missingContrecPtr, EndOfWalRecoveryInfo::missingContrecPtr, palloc(), PANIC, XLogReaderState::readBuf, readFile, readOff, ReadRecord(), recovery_signal_file_found, EndOfWalRecoveryInfo::recovery_signal_file_found, EndOfWalRecoveryInfo::recoveryStopReason, XLogReaderState::seg, ShutDownSlotSync(), standby_signal_file_found, EndOfWalRecoveryInfo::standby_signal_file_found, StandbyMode, wal_segment_size, WalRcvStreaming(), WALOpenSegment::ws_tli, xlogprefetcher, XLogPrefetcherBeginRead(), xlogreader, XLogRecoveryCtl, XLogSegmentOffset, and XLogShutdownWalRcv().
Referenced by StartupXLOG().
TimestampTz GetCurrentChunkReplayStartTime | ( | void | ) |
Definition at line 4646 of file xlogrecovery.c.
References XLogRecoveryCtlData::currentChunkStartTime, XLogRecoveryCtlData::info_lck, SpinLockAcquire, SpinLockRelease, and XLogRecoveryCtl.
Referenced by GetReplicationApplyDelay().
XLogRecPtr GetCurrentReplayRecPtr | ( | TimeLineID * | replayEndTLI | ) |
Definition at line 4582 of file xlogrecovery.c.
References XLogRecoveryCtlData::info_lck, XLogRecoveryCtlData::replayEndRecPtr, XLogRecoveryCtlData::replayEndTLI, SpinLockAcquire, SpinLockRelease, and XLogRecoveryCtl.
Referenced by UpdateMinRecoveryPoint(), and xlog_redo().
TimestampTz GetLatestXTime | ( | void | ) |
Definition at line 4616 of file xlogrecovery.c.
References XLogRecoveryCtlData::info_lck, XLogRecoveryCtlData::recoveryLastXTime, SpinLockAcquire, SpinLockRelease, and XLogRecoveryCtl.
Referenced by CreateRestartPoint(), PerformWalRecovery(), and pg_last_xact_replay_timestamp().
|
static |
Definition at line 2437 of file xlogrecovery.c.
References XLOG_RESTORE_POINT, XLOG_XACT_ABORT, XLOG_XACT_ABORT_PREPARED, XLOG_XACT_COMMIT, XLOG_XACT_COMMIT_PREPARED, XLOG_XACT_OPMASK, XLogRecGetData, XLogRecGetInfo, and XLogRecGetRmid.
Referenced by recoveryApplyDelay(), recoveryStopsAfter(), and recoveryStopsBefore().
RecoveryPauseState GetRecoveryPauseState | ( | void | ) |
Definition at line 3081 of file xlogrecovery.c.
References XLogRecoveryCtlData::info_lck, XLogRecoveryCtlData::recoveryPauseState, SpinLockAcquire, SpinLockRelease, and XLogRecoveryCtl.
Referenced by pg_get_wal_replay_pause_state(), pg_is_wal_replay_paused(), recoveryPausesHere(), and RecoveryRequiresIntParameter().
|
static |
Definition at line 2897 of file xlogrecovery.c.
References LSN_FORMAT_ARGS, pstrdup(), RECOVERY_TARGET_IMMEDIATE, RECOVERY_TARGET_LSN, RECOVERY_TARGET_NAME, RECOVERY_TARGET_TIME, RECOVERY_TARGET_XID, recoveryStopAfter, recoveryStopLSN, recoveryStopName, recoveryStopTime, recoveryStopXid, recoveryTarget, snprintf, and timestamptz_to_str().
Referenced by FinishWalRecovery().
void GetXLogReceiptTime | ( | TimestampTz * | rtime, |
bool * | fromStream | ||
) |
Definition at line 4662 of file xlogrecovery.c.
References Assert(), InRecovery, XLOG_FROM_STREAM, XLogReceiptSource, and XLogReceiptTime.
Referenced by GetStandbyLimitTime().
XLogRecPtr GetXLogReplayRecPtr | ( | TimeLineID * | replayTLI | ) |
Definition at line 4559 of file xlogrecovery.c.
References XLogRecoveryCtlData::info_lck, XLogRecoveryCtlData::lastReplayedEndRecPtr, XLogRecoveryCtlData::lastReplayedTLI, SpinLockAcquire, SpinLockRelease, and XLogRecoveryCtl.
Referenced by CheckpointerMain(), CreateRestartPoint(), GetCurrentLSN(), GetLatestLSN(), GetReplicationApplyDelay(), GetStandbyFlushRecPtr(), IsCheckpointOnSchedule(), logical_read_xlog_page(), pg_last_wal_replay_lsn(), pg_logical_slot_get_changes_guts(), pg_replication_slot_advance(), read_local_xlog_page_guts(), ReadReplicationSlot(), ReplicationSlotReserveWal(), WalReceiverMain(), WalSndWaitForWal(), and XLogWalRcvSendReply().
bool HotStandbyActive | ( | void | ) |
Definition at line 4522 of file xlogrecovery.c.
References XLogRecoveryCtlData::info_lck, LocalHotStandbyActive, XLogRecoveryCtlData::SharedHotStandbyActive, SpinLockAcquire, SpinLockRelease, and XLogRecoveryCtl.
Referenced by XLogWalRcvSendHSFeedback().
|
static |
Definition at line 4547 of file xlogrecovery.c.
References AmStartupProcess, Assert(), IsPostmasterEnvironment, and LocalHotStandbyActive.
Referenced by RecoveryRequiresIntParameter().
void InitWalRecovery | ( | ControlFileData * | ControlFile, |
bool * | wasShutdown_ptr, | ||
bool * | haveBackupLabel_ptr, | ||
bool * | haveTblspcMap_ptr | ||
) |
Definition at line 518 of file xlogrecovery.c.
References abortedRecPtr, ArchiveRecoveryRequested, Assert(), BACKUP_LABEL_FILE, backupEndPoint, ControlFileData::backupEndPoint, backupEndRequired, ControlFileData::backupEndRequired, backupStartPoint, ControlFileData::backupStartPoint, ControlFileData::checkPoint, ControlFileData::checkPointCopy, CheckPointLoc, CheckPointTLI, ControlFile, DataDir, DB_IN_ARCHIVE_RECOVERY, DB_IN_CRASH_RECOVERY, DB_SHUTDOWNED, DB_SHUTDOWNED_IN_RECOVERY, DEBUG1, durable_rename(), EnableStandbyMode(), ereport, errcode(), errcode_for_file_access(), errdetail(), errhint(), errmsg(), errmsg_internal(), ERROR, expectedTLEs, FATAL, InArchiveRecovery, InRecovery, InvalidXLogRecPtr, lfirst, LOG, LSN_FORMAT_ARGS, minRecoveryPoint, ControlFileData::minRecoveryPoint, minRecoveryPointTLI, ControlFileData::minRecoveryPointTLI, missingContrecPtr, CheckPoint::newestCommitTsXid, CheckPoint::nextMulti, CheckPoint::nextMultiOffset, CheckPoint::nextOid, CheckPoint::nextXid, NIL, tablespaceinfo::oid, CheckPoint::oldestCommitTsXid, CheckPoint::oldestMulti, CheckPoint::oldestMultiDB, CheckPoint::oldestXid, CheckPoint::oldestXidDB, OwnLatch(), palloc(), palloc0(), PANIC, tablespaceinfo::path, pfree(), PG_TBLSPC_DIR, primary_image_masked, psprintf(), read_backup_label(), read_tablespace_map(), ReadCheckpointRecord(), ReadRecord(), readRecoverySignalFile(), RECOVERY_TARGET_IMMEDIATE, RECOVERY_TARGET_LSN, RECOVERY_TARGET_NAME, RECOVERY_TARGET_TIME, RECOVERY_TARGET_XID, recoveryTarget, recoveryTargetLSN, recoveryTargetName, recoveryTargetTime, recoveryTargetTLI, recoveryTargetXid, XLogRecoveryCtlData::recoveryWakeupLatch, CheckPoint::redo, RedoStartLSN, RedoStartTLI, remove_tablespace_symlink(), replay_image_masked, StandbyModeRequested, stat, ControlFileData::state, symlink, XLogReaderState::system_identifier, ControlFileData::system_identifier, TABLESPACE_MAP, TABLESPACE_MAP_OLD, CheckPoint::ThisTimeLineID, timestamptz_to_str(), tliOfPointInHistory(), tliSwitchPoint(), TransactionIdIsNormal, U64FromFullTransactionId, UINT64_FORMAT, validateRecoveryParameters(), wal_decode_buffer_size, wal_segment_close(), wal_segment_size, XidFromFullTransactionId, XLogRecord::xl_info, XL_ROUTINE, XLOG_CHECKPOINT_SHUTDOWN, XLogPageRead(), xlogprefetcher, XLogPrefetcherAllocate(), XLogPrefetcherBeginRead(), xlogreader, XLogReaderAllocate(), XLogReaderSetDecodeBuffer(), XLogRecGetData, XLogRecoveryCtl, and XLogRecPtrIsInvalid.
Referenced by StartupXLOG().
void PerformWalRecovery | ( | void | ) |
Definition at line 1660 of file xlogrecovery.c.
References appendStringInfo(), appendStringInfoString(), ApplyWalRecord(), ArchiveRecoveryRequested, Assert(), begin_startup_progress_phase(), buf, CheckPointLoc, CheckPointTLI, CheckRecoveryConsistency(), XLogRecoveryCtlData::currentChunkStartTime, elog, XLogReaderState::EndRecPtr, ereport, ereport_startup_progress, errcode(), errmsg(), FATAL, GetCurrentTimestamp(), GetLatestXTime(), XLogRecoveryCtlData::info_lck, initStringInfo(), InRedo, InvalidXLogRecPtr, IsUnderPostmaster, XLogRecoveryCtlData::lastReplayedEndRecPtr, XLogRecoveryCtlData::lastReplayedReadRecPtr, XLogRecoveryCtlData::lastReplayedTLI, LOG, LSN_FORMAT_ARGS, PANIC, pfree(), pg_rusage_init(), pg_rusage_show(), PMSIGNAL_RECOVERY_STARTED, proc_exit(), ProcessStartupProcInterrupts(), reachedConsistency, ReadRecord(), XLogReaderState::ReadRecPtr, RECOVERY_NOT_PAUSED, RECOVERY_TARGET_ACTION_PAUSE, RECOVERY_TARGET_ACTION_PROMOTE, RECOVERY_TARGET_ACTION_SHUTDOWN, RECOVERY_TARGET_UNSET, recoveryApplyDelay(), XLogRecoveryCtlData::recoveryLastXTime, recoveryPausesHere(), XLogRecoveryCtlData::recoveryPauseState, recoveryStopsAfter(), recoveryStopsBefore(), recoveryTarget, recoveryTargetAction, RedoStartLSN, RedoStartTLI, XLogRecoveryCtlData::replayEndRecPtr, XLogRecoveryCtlData::replayEndTLI, RmgrCleanup(), RmgrStartup(), SendPostmasterSignal(), SetRecoveryPause(), SpinLockAcquire, SpinLockRelease, StandbyMode, timestamptz_to_str(), XLogRecord::xl_info, XLogRecord::xl_rmid, XLOG_CHECKPOINT_REDO, xlog_outdesc(), xlogprefetcher, XLogPrefetcherBeginRead(), xlogreader, XLogReceiptTime, XLogRecoveryCtl, and XLR_INFO_MASK.
Referenced by StartupXLOG().
bool PromoteIsTriggered | ( | void | ) |
Definition at line 4414 of file xlogrecovery.c.
References XLogRecoveryCtlData::info_lck, LocalPromoteIsTriggered, XLogRecoveryCtlData::SharedPromoteIsTriggered, SpinLockAcquire, SpinLockRelease, and XLogRecoveryCtl.
Referenced by PerformRecoveryXLogAction(), pg_wal_replay_pause(), and pg_wal_replay_resume().
|
static |
Definition at line 1216 of file xlogrecovery.c.
References AllocateFile(), BACKUP_LABEL_FILE, backupEndRequired, DEBUG1, ereport, errcode(), errcode_for_file_access(), errdetail(), errhint(), errmsg(), errmsg_internal(), FATAL, FreeFile(), InvalidXLogRecPtr, MAXFNAMELEN, MAXPGPATH, RedoStartLSN, and RedoStartTLI.
Referenced by InitWalRecovery().
|
static |
Definition at line 1362 of file xlogrecovery.c.
References AllocateFile(), ereport, errcode(), errcode_for_file_access(), errmsg(), FATAL, FreeFile(), i, lappend(), MAXPGPATH, tablespaceinfo::oid, palloc0(), tablespaceinfo::path, pstrdup(), str, and TABLESPACE_MAP.
Referenced by InitWalRecovery().
|
static |
Definition at line 4071 of file xlogrecovery.c.
References Assert(), ereport, errmsg(), LOG, ReadRecord(), SizeOfXLogRecord, SizeOfXLogRecordDataHeaderShort, XLogRecord::xl_info, XLogRecord::xl_rmid, XLogRecord::xl_tot_len, XLOG_CHECKPOINT_ONLINE, XLOG_CHECKPOINT_SHUTDOWN, xlogprefetcher, XLogPrefetcherBeginRead(), xlogreader, and XRecOffIsValid.
Referenced by InitWalRecovery().
|
static |
Definition at line 3142 of file xlogrecovery.c.
References abortedRecPtr, XLogReaderState::abortedRecPtr, ArchiveRecoveryRequested, CheckForStandbyTrigger(), CheckRecoveryConsistency(), close, currentSource, DEBUG1, emode_for_corrupt_record(), EnableStandbyMode(), XLogReaderState::EndRecPtr, ereport, errmsg(), errmsg_internal(), expectedTLEs, InArchiveRecovery, InvalidXLogRecPtr, lastSourceFailed, XLogReaderState::latestPagePtr, XLogReaderState::latestPageTLI, LSN_FORMAT_ARGS, MAXFNAMELEN, minRecoveryPoint, minRecoveryPointTLI, missingContrecPtr, XLogReaderState::missingContrecPtr, XLogReaderState::private_data, readFile, XLogReaderState::ReadRecPtr, XLogReaderState::seg, StandbyMode, StandbyModeRequested, SwitchIntoArchiveRecovery(), tliInHistory(), wal_segment_size, WALOpenSegment::ws_tli, XLByteToSeg, XLOG_FROM_ANY, XLogFileName(), xlogprefetcher, XLogPrefetcherGetReader(), XLogPrefetcherReadRecord(), xlogreader, XLogRecPtrIsInvalid, and XLogSegmentOffset.
Referenced by FinishWalRecovery(), InitWalRecovery(), PerformWalRecovery(), and ReadCheckpointRecord().
|
static |
Definition at line 1035 of file xlogrecovery.c.
References ArchiveRecoveryRequested, BasicOpenFilePerm(), close, ereport, errcode(), errcode_for_file_access(), errmsg(), FATAL, fd(), IsBootstrapProcessingMode, IsUnderPostmaster, PG_BINARY, pg_fsync(), RECOVERY_COMMAND_DONE, RECOVERY_COMMAND_FILE, RECOVERY_SIGNAL_FILE, recovery_signal_file_found, S_IRUSR, S_IWUSR, STANDBY_SIGNAL_FILE, standby_signal_file_found, StandbyModeRequested, and stat.
Referenced by InitWalRecovery().
|
static |
Definition at line 2993 of file xlogrecovery.c.
References ArchiveRecoveryRequested, CheckForStandbyTrigger(), DEBUG2, elog, GetCurrentTimestamp(), getRecordTimestamp(), ProcessStartupProcInterrupts(), reachedConsistency, recovery_min_apply_delay, XLogRecoveryCtlData::recoveryWakeupLatch, ResetLatch(), TimestampDifferenceMilliseconds(), TimestampTzPlusMilliseconds, WaitLatch(), WL_EXIT_ON_PM_DEATH, WL_LATCH_SET, WL_TIMEOUT, XLOG_XACT_COMMIT, XLOG_XACT_COMMIT_PREPARED, XLOG_XACT_OPMASK, XLogRecGetInfo, XLogRecGetRmid, and XLogRecoveryCtl.
Referenced by PerformWalRecovery().
|
static |
Definition at line 2936 of file xlogrecovery.c.
References CheckForStandbyTrigger(), ConditionVariableCancelSleep(), ConditionVariableTimedSleep(), ConfirmRecoveryPaused(), ereport, errhint(), errmsg(), GetRecoveryPauseState(), LocalHotStandbyActive, LocalPromoteIsTriggered, LOG, ProcessStartupProcInterrupts(), RECOVERY_NOT_PAUSED, XLogRecoveryCtlData::recoveryNotPausedCV, and XLogRecoveryCtl.
Referenced by PerformWalRecovery(), and WaitForWALToBecomeAvailable().
void RecoveryRequiresIntParameter | ( | const char * | param_name, |
int | currValue, | ||
int | minValue | ||
) |
Definition at line 4679 of file xlogrecovery.c.
References CheckForStandbyTrigger(), ConditionVariableCancelSleep(), ConditionVariableTimedSleep(), ConfirmRecoveryPaused(), ereport, errcode(), errdetail(), errhint(), errmsg(), FATAL, GetRecoveryPauseState(), HotStandbyActiveInReplay(), LOG, ProcessStartupProcInterrupts(), RECOVERY_NOT_PAUSED, XLogRecoveryCtlData::recoveryNotPausedCV, SetRecoveryPause(), WARNING, and XLogRecoveryCtl.
Referenced by CheckRequiredParameterValues().
|
static |
Definition at line 2737 of file xlogrecovery.c.
References ArchiveRecoveryRequested, ereport, errmsg(), getRecordTimestamp(), InvalidTransactionId, InvalidXLogRecPtr, LOG, LSN_FORMAT_ARGS, MAXFNAMELEN, ParseAbortRecord(), ParseCommitRecord(), reachedConsistency, XLogReaderState::ReadRecPtr, RECOVERY_TARGET_IMMEDIATE, RECOVERY_TARGET_LSN, RECOVERY_TARGET_NAME, RECOVERY_TARGET_XID, recoveryStopAfter, recoveryStopLSN, recoveryStopName, recoveryStopTime, recoveryStopXid, recoveryTarget, recoveryTargetInclusive, recoveryTargetLSN, recoveryTargetName, recoveryTargetXid, xl_restore_point::rp_name, SetLatestXTime(), strlcpy(), timestamptz_to_str(), xl_xact_parsed_commit::twophase_xid, xl_xact_parsed_abort::twophase_xid, XLOG_RESTORE_POINT, XLOG_XACT_ABORT, XLOG_XACT_ABORT_PREPARED, XLOG_XACT_COMMIT, XLOG_XACT_COMMIT_PREPARED, XLOG_XACT_OPMASK, XLogRecGetData, XLogRecGetInfo, XLogRecGetRmid, and XLogRecGetXid.
Referenced by PerformWalRecovery().
|
static |
Definition at line 2584 of file xlogrecovery.c.
References ArchiveRecoveryRequested, ereport, errmsg(), getRecordTimestamp(), InvalidTransactionId, InvalidXLogRecPtr, LOG, LSN_FORMAT_ARGS, ParseAbortRecord(), ParseCommitRecord(), reachedConsistency, XLogReaderState::ReadRecPtr, RECOVERY_TARGET_IMMEDIATE, RECOVERY_TARGET_LSN, RECOVERY_TARGET_TIME, RECOVERY_TARGET_XID, recoveryStopAfter, recoveryStopLSN, recoveryStopName, recoveryStopTime, recoveryStopXid, recoveryTarget, recoveryTargetInclusive, recoveryTargetLSN, recoveryTargetTime, recoveryTargetXid, timestamptz_to_str(), xl_xact_parsed_commit::twophase_xid, xl_xact_parsed_abort::twophase_xid, XLOG_XACT_ABORT, XLOG_XACT_ABORT_PREPARED, XLOG_XACT_COMMIT, XLOG_XACT_COMMIT_PREPARED, XLOG_XACT_OPMASK, XLogRecGetData, XLogRecGetInfo, XLogRecGetRmid, and XLogRecGetXid.
Referenced by PerformWalRecovery().
void RemovePromoteSignalFiles | ( | void | ) |
Definition at line 4474 of file xlogrecovery.c.
References PROMOTE_SIGNAL_FILE.
Referenced by CheckForStandbyTrigger(), and PostmasterMain().
|
static |
Definition at line 4126 of file xlogrecovery.c.
References TimeLineHistoryEntry::end, ereport, errmsg(), expectedTLEs, findNewestTimeLine(), lfirst, list_free_deep(), LOG, LSN_FORMAT_ARGS, readTimeLineHistory(), recoveryTargetTLI, restoreTimeLineHistoryFiles(), and TimeLineHistoryEntry::tli.
Referenced by WaitForWALToBecomeAvailable().
|
static |
Definition at line 2286 of file xlogrecovery.c.
References arg, buf, errcontext, initStringInfo(), LSN_FORMAT_ARGS, pfree(), XLogReaderState::ReadRecPtr, xlog_block_info(), and xlog_outdesc().
Referenced by ApplyWalRecord().
|
static |
Definition at line 4634 of file xlogrecovery.c.
References XLogRecoveryCtlData::currentChunkStartTime, XLogRecoveryCtlData::info_lck, SpinLockAcquire, SpinLockRelease, and XLogRecoveryCtl.
Referenced by WaitForWALToBecomeAvailable().
|
static |
Definition at line 4605 of file xlogrecovery.c.
References XLogRecoveryCtlData::info_lck, XLogRecoveryCtlData::recoveryLastXTime, SpinLockAcquire, SpinLockRelease, and XLogRecoveryCtl.
Referenced by recoveryStopsAfter().
|
static |
Definition at line 4432 of file xlogrecovery.c.
References XLogRecoveryCtlData::info_lck, LocalPromoteIsTriggered, SetRecoveryPause(), XLogRecoveryCtlData::SharedPromoteIsTriggered, SpinLockAcquire, SpinLockRelease, and XLogRecoveryCtl.
Referenced by CheckForStandbyTrigger().
void SetRecoveryPause | ( | bool | recoveryPause | ) |
Definition at line 3101 of file xlogrecovery.c.
References ConditionVariableBroadcast(), XLogRecoveryCtlData::info_lck, RECOVERY_NOT_PAUSED, RECOVERY_PAUSE_REQUESTED, XLogRecoveryCtlData::recoveryNotPausedCV, XLogRecoveryCtlData::recoveryPauseState, SpinLockAcquire, SpinLockRelease, and XLogRecoveryCtl.
Referenced by PerformWalRecovery(), pg_wal_replay_pause(), pg_wal_replay_resume(), RecoveryRequiresIntParameter(), and SetPromoteIsTriggered().
void ShutdownWalRecovery | ( | void | ) |
Definition at line 1616 of file xlogrecovery.c.
References ArchiveRecoveryRequested, close, DisownLatch(), MAXPGPATH, readFile, XLogRecoveryCtlData::recoveryWakeupLatch, snprintf, XLOGDIR, xlogprefetcher, XLogPrefetcherComputeStats(), XLogPrefetcherFree(), xlogreader, XLogReaderFree(), and XLogRecoveryCtl.
Referenced by StartupXLOG().
void StartupRequestWalReceiverRestart | ( | void | ) |
Definition at line 4395 of file xlogrecovery.c.
References currentSource, ereport, errmsg(), LOG, pendingWalRcvRestart, WalRcvRunning(), and XLOG_FROM_STREAM.
Referenced by StartupRereadConfig().
|
static |
Definition at line 1117 of file xlogrecovery.c.
References ArchiveRecoveryRequested, Assert(), CStringGetDatum(), DatumGetTimestampTz(), DirectFunctionCall3, EnableHotStandby, ereport, errcode(), errhint(), errmsg(), existsTimeLineHistory(), FATAL, findNewestTimeLine(), Int32GetDatum(), InvalidOid, ObjectIdGetDatum(), PrimaryConnInfo, RECOVERY_TARGET_ACTION_PAUSE, RECOVERY_TARGET_ACTION_SHUTDOWN, RECOVERY_TARGET_TIME, recovery_target_time_string, RECOVERY_TARGET_TIMELINE_CONTROLFILE, RECOVERY_TARGET_TIMELINE_LATEST, RECOVERY_TARGET_TIMELINE_NUMERIC, recoveryRestoreCommand, recoveryTarget, recoveryTargetAction, recoveryTargetTime, recoveryTargetTimeLineGoal, recoveryTargetTLI, recoveryTargetTLIRequested, StandbyModeRequested, timestamptz_in(), and WARNING.
Referenced by InitWalRecovery().
|
static |
Definition at line 2472 of file xlogrecovery.c.
References Assert(), buf, BUFFER_LOCK_EXCLUSIVE, BufferGetPage(), BufferIsValid(), RelFileLocator::dbOid, elog, XLogReaderState::EndRecPtr, ereport, errcode(), errmsg_internal(), ERROR, XLogReaderState::errormsg_buf, FATAL, GetRmgr(), InvalidBuffer, LockBuffer(), PageGetLSN(), primary_image_masked, RBM_NORMAL_NO_LOG, RelFileLocator::relNumber, replay_image_masked, RestoreBlockImage(), RmgrData::rm_mask, RelFileLocator::spcOid, UnlockReleaseBuffer(), XLogReadBufferExtended(), XLogRecBlockImageApply, XLogRecGetBlockTagExtended(), XLogRecGetInfo, XLogRecGetRmid, XLogRecHasAnyBlockRefs, XLogRecHasBlockImage, XLogRecMaxBlockId, and XLR_CHECK_CONSISTENCY.
Referenced by ApplyWalRecord().
|
static |
Definition at line 3564 of file xlogrecovery.c.
References Assert(), CheckForStandbyTrigger(), close, curFileTLI, currentSource, DEBUG2, elog, ERROR, expectedTLEs, flushedUpto, GetCurrentTimestamp(), GetWalRcvFlushRecPtr(), InArchiveRecovery, KnownAssignedTransactionIdsIdleMaintenance(), lastSourceFailed, LOG, LSN_FORMAT_ARGS, now(), pendingWalRcvRestart, PrimaryConnInfo, PrimarySlotName, ProcessStartupProcInterrupts(), readFile, readSegNo, readSource, readTimeLineHistory(), receiveTLI, RECOVERY_NOT_PAUSED, RECOVERY_TARGET_TIMELINE_LATEST, recoveryPausesHere(), recoveryTargetTimeLineGoal, recoveryTargetTLI, XLogRecoveryCtlData::recoveryWakeupLatch, RedoStartLSN, RedoStartTLI, RequestXLogStreaming(), rescanLatestTimeLine(), ResetLatch(), SetCurrentChunkStartTime(), SetInstallXLogFileSegmentActive(), StandbyMode, TimestampDifferenceExceeds(), TimestampDifferenceMilliseconds(), tliOfPointInHistory(), WaitLatch(), wal_receiver_create_temp_slot, wal_retrieve_retry_interval, WalRcvForceReply(), WalRcvStreaming(), WL_EXIT_ON_PM_DEATH, WL_LATCH_SET, WL_TIMEOUT, XLOG_FROM_ANY, XLOG_FROM_ARCHIVE, XLOG_FROM_PG_WAL, XLOG_FROM_STREAM, XLogFileRead(), XLogFileReadAnyTLI(), xlogprefetcher, XLogPrefetcherComputeStats(), XLogReceiptSource, XLogReceiptTime, XLogRecoveryCtl, XLogShutdownWalRcv(), xlogSourceNames, XLREAD_FAIL, XLREAD_SUCCESS, and XLREAD_WOULDBLOCK.
Referenced by XLogPageRead().
void WakeupRecovery | ( | void | ) |
Definition at line 4498 of file xlogrecovery.c.
References XLogRecoveryCtlData::recoveryWakeupLatch, SetLatch(), and XLogRecoveryCtl.
Referenced by pg_wal_replay_pause(), StartupProcShutdownHandler(), StartupProcSigHupHandler(), StartupProcTriggerHandler(), WalRcvDie(), WalRcvWaitForStartPosition(), and XLogWalRcvFlush().
|
static |
Definition at line 2347 of file xlogrecovery.c.
References appendStringInfo(), appendStringInfoString(), buf, RelFileLocator::dbOid, MAIN_FORKNUM, RelFileLocator::relNumber, RelFileLocator::spcOid, XLogRecGetBlockTagExtended(), XLogRecHasBlockImage, and XLogRecMaxBlockId.
Referenced by rm_redo_error_callback().
void xlog_outdesc | ( | StringInfo | buf, |
XLogReaderState * | record | ||
) |
Definition at line 2308 of file xlogrecovery.c.
References appendStringInfo(), appendStringInfoChar(), appendStringInfoString(), buf, GetRmgr(), RmgrData::rm_desc, RmgrData::rm_identify, RmgrData::rm_name, XLogRecGetInfo, XLogRecGetRmid, and XLR_INFO_MASK.
Referenced by PerformWalRecovery(), rm_redo_error_callback(), and XLogInsertRecord().
|
static |
Definition at line 4213 of file xlogrecovery.c.
References Assert(), BasicOpenFile(), curFileTLI, elog, ereport, errcode_for_file_access(), errmsg(), ERROR, fd(), GetCurrentTimestamp(), InRedo, IsInstallXLogFileSegmentActive(), KeepFileRestoredFromArchive(), MAXFNAMELEN, MAXPGPATH, PANIC, PG_BINARY, readSource, RestoreArchivedFile(), set_ps_display(), snprintf, source, wal_segment_size, XLOG_FROM_ARCHIVE, XLOG_FROM_PG_WAL, XLOG_FROM_STREAM, XLOGDIR, XLogFileName(), XLogFilePath(), XLogReceiptSource, and XLogReceiptTime.
Referenced by WaitForWALToBecomeAvailable(), and XLogFileReadAnyTLI().
|
static |
Definition at line 4295 of file xlogrecovery.c.
References TimeLineHistoryEntry::begin, curFileTLI, DEBUG1, DEBUG2, elog, ereport, errcode_for_file_access(), errmsg(), expectedTLEs, fd(), InvalidXLogRecPtr, lfirst, MAXPGPATH, readTimeLineHistory(), recoveryTargetTLI, source, TimeLineHistoryEntry::tli, wal_segment_size, XLByteToSeg, XLOG_FROM_ANY, XLOG_FROM_ARCHIVE, XLOG_FROM_PG_WAL, XLogFilePath(), and XLogFileRead().
Referenced by WaitForWALToBecomeAvailable().
|
static |
Definition at line 3309 of file xlogrecovery.c.
References ArchiveRecoveryRequested, Assert(), CHECKPOINT_CAUSE_XLOG, close, curFileTLI, emode_for_corrupt_record(), XLogReaderState::EndRecPtr, ereport, errcode(), ERRCODE_DATA_CORRUPTED, errcode_for_file_access(), errmsg(), errmsg_internal(), XLogReaderState::errormsg_buf, flushedUpto, GetRedoRecPtr(), IOCONTEXT_NORMAL, IOOBJECT_WAL, IOOP_READ, IsUnderPostmaster, lastSourceFailed, LSN_FORMAT_ARGS, MAXFNAMELEN, XLogReaderState::nonblocking, pg_pread, PG_USED_FOR_ASSERTS_ONLY, pgstat_count_io_op_time(), pgstat_prepare_io_time(), pgstat_report_wait_end(), pgstat_report_wait_start(), XLogReaderState::private_data, readFile, readLen, readOff, readSegNo, readSource, RequestCheckpoint(), XLogReaderState::seg, StandbyMode, track_wal_io_timing, WaitForWALToBecomeAvailable(), wal_segment_size, WALOpenSegment::ws_tli, XLByteInSeg, XLByteToSeg, XLOG_FROM_ANY, XLOG_FROM_STREAM, XLogCheckpointNeeded(), XLogFileName(), xlogreader, XLogReaderResetError(), XLogReaderValidatePageHeader(), XLogSegmentOffset, XLREAD_FAIL, XLREAD_SUCCESS, and XLREAD_WOULDBLOCK.
Referenced by InitWalRecovery().
|
static |
Definition at line 2081 of file xlogrecovery.c.
References abortedRecPtr, Assert(), backupEndPoint, backupStartPoint, DEBUG1, elog, XLogReaderState::EndRecPtr, ereport, errmsg(), FATAL, InvalidXLogRecPtr, LOG, LSN_FORMAT_ARGS, missingContrecPtr, xl_overwrite_contrecord::overwrite_time, xl_overwrite_contrecord::overwritten_lsn, XLogReaderState::overwrittenRecPtr, timestamptz_to_str(), XLOG_BACKUP_END, XLOG_OVERWRITE_CONTRECORD, XLogRecGetData, XLogRecGetInfo, and XLogRecGetRmid.
Referenced by ApplyWalRecord().
void XLogRecoveryShmemInit | ( | void | ) |
Definition at line 464 of file xlogrecovery.c.
References ConditionVariableInit(), XLogRecoveryCtlData::info_lck, InitSharedLatch(), XLogRecoveryCtlData::recoveryNotPausedCV, XLogRecoveryCtlData::recoveryWakeupLatch, ShmemInitStruct(), SpinLockInit, XLogRecoveryCtl, and XLogRecoveryShmemSize().
Referenced by CreateOrAttachShmemStructs().
Size XLogRecoveryShmemSize | ( | void | ) |
Definition at line 453 of file xlogrecovery.c.
Referenced by CalculateShmemSize(), and XLogRecoveryShmemInit().
void XLogRequestWalReceiverReply | ( | void | ) |
Definition at line 4507 of file xlogrecovery.c.
References doRequestWalReceiverReply.
Referenced by xact_redo_commit().
|
static |
Definition at line 378 of file xlogrecovery.c.
Referenced by FinishWalRecovery(), InitWalRecovery(), ReadRecord(), StartupXLOG(), and xlogrecovery_redo().
char* archiveCleanupCommand = NULL |
Definition at line 85 of file xlogrecovery.c.
Referenced by CreateRestartPoint().
bool ArchiveRecoveryRequested = false |
Definition at line 138 of file xlogrecovery.c.
Referenced by CheckRequiredParameterValues(), existsTimeLineHistory(), FinishWalRecovery(), InitWalRecovery(), PerformRecoveryXLogAction(), PerformWalRecovery(), ReadRecord(), readRecoverySignalFile(), readTimeLineHistory(), recoveryApplyDelay(), recoveryStopsAfter(), recoveryStopsBefore(), RestoreArchivedFile(), ShutdownWalRecovery(), StartupXLOG(), validateRecoveryParameters(), writeTimeLineHistory(), xlog_redo(), and XLogPageRead().
|
static |
Definition at line 283 of file xlogrecovery.c.
Referenced by CheckRecoveryConsistency(), InitWalRecovery(), and xlogrecovery_redo().
|
static |
Definition at line 284 of file xlogrecovery.c.
Referenced by CheckRecoveryConsistency(), InitWalRecovery(), and read_backup_label().
|
static |
Definition at line 282 of file xlogrecovery.c.
Referenced by CheckRecoveryConsistency(), InitWalRecovery(), and xlogrecovery_redo().
|
static |
Definition at line 168 of file xlogrecovery.c.
Referenced by FinishWalRecovery(), InitWalRecovery(), and PerformWalRecovery().
|
static |
Definition at line 169 of file xlogrecovery.c.
Referenced by FinishWalRecovery(), InitWalRecovery(), and PerformWalRecovery().
|
static |
Definition at line 125 of file xlogrecovery.c.
Referenced by WaitForWALToBecomeAvailable(), XLogFileRead(), XLogFileReadAnyTLI(), and XLogPageRead().
|
static |
Definition at line 247 of file xlogrecovery.c.
Referenced by ReadRecord(), StartupRequestWalReceiverRestart(), and WaitForWALToBecomeAvailable().
|
static |
Definition at line 186 of file xlogrecovery.c.
Referenced by ApplyWalRecord(), and XLogRequestWalReceiverReply().
|
static |
Definition at line 124 of file xlogrecovery.c.
Referenced by checkTimeLineSwitch(), InitWalRecovery(), PrepareForIncrementalBackup(), ReadRecord(), rescanLatestTimeLine(), tliInHistory(), WaitForWALToBecomeAvailable(), and XLogFileReadAnyTLI().
|
static |
Definition at line 263 of file xlogrecovery.c.
Referenced by WaitForWALToBecomeAvailable(), and XLogPageRead().
bool InArchiveRecovery = false |
Definition at line 139 of file xlogrecovery.c.
Referenced by CheckRecoveryConsistency(), FinishWalRecovery(), InitWalRecovery(), ReadRecord(), StartupXLOG(), WaitForWALToBecomeAvailable(), and xlog_redo().
|
static |
Definition at line 204 of file xlogrecovery.c.
Referenced by PerformWalRecovery(), and XLogFileRead().
|
static |
Definition at line 248 of file xlogrecovery.c.
Referenced by ReadRecord(), WaitForWALToBecomeAvailable(), and XLogPageRead().
|
static |
Definition at line 177 of file xlogrecovery.c.
Referenced by CheckRecoveryConsistency(), HotStandbyActive(), HotStandbyActiveInReplay(), and recoveryPausesHere().
|
static |
Definition at line 183 of file xlogrecovery.c.
Referenced by CheckForStandbyTrigger(), PromoteIsTriggered(), recoveryPausesHere(), and SetPromoteIsTriggered().
|
static |
Definition at line 279 of file xlogrecovery.c.
Referenced by CheckRecoveryConsistency(), checkTimeLineSwitch(), InitWalRecovery(), and ReadRecord().
|
static |
Definition at line 280 of file xlogrecovery.c.
Referenced by checkTimeLineSwitch(), InitWalRecovery(), and ReadRecord().
|
static |
Definition at line 379 of file xlogrecovery.c.
Referenced by FinishWalRecovery(), InitWalRecovery(), ReadRecord(), StartupXLOG(), and xlogrecovery_redo().
|
static |
Definition at line 249 of file xlogrecovery.c.
Referenced by StartupRequestWalReceiverRestart(), and WaitForWALToBecomeAvailable().
|
static |
Definition at line 304 of file xlogrecovery.c.
Referenced by InitWalRecovery(), and verifyBackupPageConsistency().
char* PrimaryConnInfo = NULL |
Definition at line 97 of file xlogrecovery.c.
Referenced by CheckAndGetDbnameFromConninfo(), pg_sync_replication_slots(), ReplSlotSyncWorkerMain(), slotsync_reread_config(), StartupRereadConfig(), validateRecoveryParameters(), ValidateSlotSyncParams(), and WaitForWALToBecomeAvailable().
char* PrimarySlotName = NULL |
Definition at line 98 of file xlogrecovery.c.
Referenced by slotsync_reread_config(), StartupRereadConfig(), validate_remote_info(), ValidateSlotSyncParams(), and WaitForWALToBecomeAvailable().
bool reachedConsistency = false |
Definition at line 300 of file xlogrecovery.c.
Referenced by BackendInitialize(), CheckRecoveryConsistency(), log_invalid_page(), PerformWalRecovery(), PrepareRedoAdd(), process_pm_pmsignal(), recovery_create_dbdir(), recoveryApplyDelay(), recoveryStopsAfter(), and recoveryStopsBefore().
|
static |
Definition at line 231 of file xlogrecovery.c.
Referenced by FinishWalRecovery(), ReadRecord(), ShutdownWalRecovery(), WaitForWALToBecomeAvailable(), and XLogPageRead().
|
static |
Definition at line 234 of file xlogrecovery.c.
Referenced by ReadPageInternal(), XLogFindNextRecord(), and XLogPageRead().
|
static |
Definition at line 233 of file xlogrecovery.c.
Referenced by FinishWalRecovery(), XLogDecodeNextRecord(), and XLogPageRead().
|
static |
Definition at line 232 of file xlogrecovery.c.
Referenced by WaitForWALToBecomeAvailable(), and XLogPageRead().
|
static |
Definition at line 235 of file xlogrecovery.c.
Referenced by emode_for_corrupt_record(), WaitForWALToBecomeAvailable(), XLogFileRead(), and XLogPageRead().
|
static |
Definition at line 264 of file xlogrecovery.c.
Referenced by GetStandbyFlushRecPtr(), GetWalRcvFlushRecPtr(), and WaitForWALToBecomeAvailable().
int recovery_min_apply_delay = 0 |
Definition at line 94 of file xlogrecovery.c.
Referenced by recoveryApplyDelay().
|
static |
Definition at line 152 of file xlogrecovery.c.
Referenced by FinishWalRecovery(), and readRecoverySignalFile().
const struct config_enum_entry recovery_target_action_options[] |
Definition at line 75 of file xlogrecovery.c.
char* recovery_target_time_string |
Definition at line 90 of file xlogrecovery.c.
Referenced by validateRecoveryParameters().
char* recoveryEndCommand = NULL |
Definition at line 84 of file xlogrecovery.c.
Referenced by CleanupAfterArchiveRecovery().
char* recoveryRestoreCommand = NULL |
Definition at line 83 of file xlogrecovery.c.
Referenced by RestoreArchivedFile(), and validateRecoveryParameters().
|
static |
Definition at line 389 of file xlogrecovery.c.
Referenced by getRecoveryStopReason(), recoveryStopsAfter(), and recoveryStopsBefore().
|
static |
Definition at line 387 of file xlogrecovery.c.
Referenced by getRecoveryStopReason(), recoveryStopsAfter(), and recoveryStopsBefore().
|
static |
Definition at line 388 of file xlogrecovery.c.
Referenced by getRecoveryStopReason(), recoveryStopsAfter(), and recoveryStopsBefore().
|
static |
Definition at line 386 of file xlogrecovery.c.
Referenced by getRecoveryStopReason(), recoveryStopsAfter(), and recoveryStopsBefore().
|
static |
Definition at line 385 of file xlogrecovery.c.
Referenced by getRecoveryStopReason(), recoveryStopsAfter(), and recoveryStopsBefore().
RecoveryTargetType recoveryTarget = RECOVERY_TARGET_UNSET |
Definition at line 86 of file xlogrecovery.c.
Referenced by assign_recovery_target(), assign_recovery_target_lsn(), assign_recovery_target_name(), assign_recovery_target_time(), assign_recovery_target_xid(), getRecoveryStopReason(), InitWalRecovery(), PerformWalRecovery(), recoveryStopsAfter(), recoveryStopsBefore(), and validateRecoveryParameters().
int recoveryTargetAction = RECOVERY_TARGET_ACTION_PAUSE |
Definition at line 88 of file xlogrecovery.c.
Referenced by PerformWalRecovery(), and validateRecoveryParameters().
bool recoveryTargetInclusive = true |
Definition at line 87 of file xlogrecovery.c.
Referenced by recoveryStopsAfter(), and recoveryStopsBefore().
XLogRecPtr recoveryTargetLSN |
Definition at line 93 of file xlogrecovery.c.
Referenced by assign_recovery_target_lsn(), InitWalRecovery(), recoveryStopsAfter(), and recoveryStopsBefore().
const char* recoveryTargetName |
Definition at line 92 of file xlogrecovery.c.
Referenced by assign_recovery_target_name(), InitWalRecovery(), and recoveryStopsAfter().
TimestampTz recoveryTargetTime |
Definition at line 91 of file xlogrecovery.c.
Referenced by InitWalRecovery(), recoveryStopsBefore(), and validateRecoveryParameters().
RecoveryTargetTimeLineGoal recoveryTargetTimeLineGoal = RECOVERY_TARGET_TIMELINE_LATEST |
Definition at line 121 of file xlogrecovery.c.
Referenced by assign_recovery_target_timeline(), validateRecoveryParameters(), and WaitForWALToBecomeAvailable().
TimeLineID recoveryTargetTLI = 0 |
Definition at line 123 of file xlogrecovery.c.
Referenced by InitWalRecovery(), rescanLatestTimeLine(), StartupXLOG(), validateRecoveryParameters(), WaitForWALToBecomeAvailable(), and XLogFileReadAnyTLI().
TimeLineID recoveryTargetTLIRequested = 0 |
Definition at line 122 of file xlogrecovery.c.
Referenced by assign_recovery_target_timeline(), and validateRecoveryParameters().
TransactionId recoveryTargetXid |
Definition at line 89 of file xlogrecovery.c.
Referenced by assign_recovery_target_xid(), InitWalRecovery(), recoveryStopsAfter(), and recoveryStopsBefore().
|
static |
Definition at line 170 of file xlogrecovery.c.
Referenced by InitWalRecovery(), PerformWalRecovery(), read_backup_label(), and WaitForWALToBecomeAvailable().
|
static |
Definition at line 171 of file xlogrecovery.c.
Referenced by InitWalRecovery(), PerformWalRecovery(), read_backup_label(), and WaitForWALToBecomeAvailable().
|
static |
Definition at line 303 of file xlogrecovery.c.
Referenced by InitWalRecovery(), and verifyBackupPageConsistency().
|
static |
Definition at line 151 of file xlogrecovery.c.
Referenced by FinishWalRecovery(), and readRecoverySignalFile().
bool StandbyMode = false |
Definition at line 148 of file xlogrecovery.c.
Referenced by EnableStandbyMode(), FinishWalRecovery(), PerformWalRecovery(), ReadRecord(), RestoreArchivedFile(), RestoreSlotFromDisk(), update_synced_slots_inactive_since(), WaitForWALToBecomeAvailable(), and XLogPageRead().
|
static |
Definition at line 147 of file xlogrecovery.c.
Referenced by InitWalRecovery(), ReadRecord(), readRecoverySignalFile(), and validateRecoveryParameters().
bool wal_receiver_create_temp_slot = false |
Definition at line 99 of file xlogrecovery.c.
Referenced by StartupRereadConfig(), and WaitForWALToBecomeAvailable().
|
static |
Definition at line 192 of file xlogrecovery.c.
Referenced by FinishWalRecovery(), InitWalRecovery(), PerformWalRecovery(), ReadCheckpointRecord(), ReadRecord(), ShutdownWalRecovery(), and WaitForWALToBecomeAvailable().
|
static |
Definition at line 189 of file xlogrecovery.c.
Referenced by ApplyWalRecord(), extractPageMap(), findLastCheckpoint(), FinishWalRecovery(), GetWALRecordsInfo(), GetWalStats(), InitWalRecovery(), InitXLogReaderState(), PerformWalRecovery(), pg_get_wal_block_info(), pg_get_wal_record_info(), ReadCheckpointRecord(), ReadNextXLogRecord(), readOneRecord(), ReadRecord(), ShutdownWalRecovery(), SimpleXLogPageRead(), SummarizeDbaseRecord(), SummarizeSmgrRecord(), SummarizeWAL(), SummarizeXactRecord(), SummarizeXlogRecord(), XLogPageRead(), and XlogReadTwoPhaseData().
|
static |
Definition at line 260 of file xlogrecovery.c.
Referenced by GetXLogReceiptTime(), WaitForWALToBecomeAvailable(), and XLogFileRead().
|
static |
Definition at line 259 of file xlogrecovery.c.
Referenced by GetXLogReceiptTime(), PerformWalRecovery(), WaitForWALToBecomeAvailable(), and XLogFileRead().
|
static |
Definition at line 370 of file xlogrecovery.c.
Referenced by ApplyWalRecord(), CheckRecoveryConsistency(), ConfirmRecoveryPaused(), FinishWalRecovery(), GetCurrentChunkReplayStartTime(), GetCurrentReplayRecPtr(), GetLatestXTime(), GetRecoveryPauseState(), GetXLogReplayRecPtr(), HotStandbyActive(), InitWalRecovery(), PerformWalRecovery(), PromoteIsTriggered(), recoveryApplyDelay(), recoveryPausesHere(), RecoveryRequiresIntParameter(), SetCurrentChunkStartTime(), SetLatestXTime(), SetPromoteIsTriggered(), SetRecoveryPause(), ShutdownWalRecovery(), WaitForWALToBecomeAvailable(), WakeupRecovery(), and XLogRecoveryShmemInit().
|
static |
Definition at line 219 of file xlogrecovery.c.
Referenced by WaitForWALToBecomeAvailable().