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/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 69 of file xlogrecovery.c.
#define RECOVERY_COMMAND_FILE "recovery.conf" |
Definition at line 68 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 209 of file xlogrecovery.c.
|
static |
Definition at line 1908 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, XLR_CHECK_CONSISTENCY, and XLR_INFO_MASK.
Referenced by PerformWalRecovery().
void assign_recovery_target | ( | const char * | newval, |
void * | extra | ||
) |
Definition at line 4795 of file xlogrecovery.c.
References newval, RECOVERY_TARGET_IMMEDIATE, RECOVERY_TARGET_UNSET, and recoveryTarget.
void assign_recovery_target_lsn | ( | const char * | newval, |
void * | extra | ||
) |
Definition at line 4834 of file xlogrecovery.c.
References newval, RECOVERY_TARGET_LSN, RECOVERY_TARGET_UNSET, recoveryTarget, and recoveryTargetLSN.
void assign_recovery_target_name | ( | const char * | newval, |
void * | extra | ||
) |
Definition at line 4869 of file xlogrecovery.c.
References newval, RECOVERY_TARGET_NAME, RECOVERY_TARGET_UNSET, recoveryTarget, and recoveryTargetName.
void assign_recovery_target_time | ( | const char * | newval, |
void * | extra | ||
) |
Definition at line 4949 of file xlogrecovery.c.
References newval, RECOVERY_TARGET_TIME, RECOVERY_TARGET_UNSET, and recoveryTarget.
void assign_recovery_target_timeline | ( | const char * | newval, |
void * | extra | ||
) |
Definition at line 4998 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 5034 of file xlogrecovery.c.
References newval, RECOVERY_TARGET_UNSET, RECOVERY_TARGET_XID, recoveryTarget, and recoveryTargetXid.
Definition at line 4740 of file xlogrecovery.c.
References newval, ReplicationSlotValidateName(), and WARNING.
Definition at line 4811 of file xlogrecovery.c.
References ERROR, guc_malloc(), newval, and pg_lsn_in_internal().
Definition at line 4853 of file xlogrecovery.c.
References GUC_check_errdetail, MAXFNAMELEN, and newval.
Definition at line 4894 of file xlogrecovery.c.
References DecodeDateTime(), DTK_DATE, GUC_check_errdetail, MAXDATEFIELDS, MAXDATELEN, newval, ParseDateTime(), str, tm, and tm2timestamp().
Definition at line 4965 of file xlogrecovery.c.
References ERROR, GUC_check_errdetail, guc_malloc(), newval, RECOVERY_TARGET_TIMELINE_CONTROLFILE, RECOVERY_TARGET_TIMELINE_LATEST, and RECOVERY_TARGET_TIMELINE_NUMERIC.
Definition at line 5011 of file xlogrecovery.c.
References ERROR, guc_malloc(), newval, and strtou64.
|
static |
Definition at line 4433 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 4463 of file xlogrecovery.c.
References PROMOTE_SIGNAL_FILE, and stat.
Referenced by CheckForStandbyTrigger(), and process_pm_pmsignal().
|
static |
Definition at line 2175 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, 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 2143 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, PGFILETYPE_LNK, ReadDir(), snprintf, and WARNING.
Referenced by CheckRecoveryConsistency().
|
static |
Definition at line 2377 of file xlogrecovery.c.
References ereport, errmsg(), expectedTLEs, LSN_FORMAT_ARGS, minRecoveryPoint, minRecoveryPointTLI, PANIC, tliInHistory(), and XLogRecPtrIsInvalid.
Referenced by ApplyWalRecord().
|
static |
Definition at line 3110 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 4030 of file xlogrecovery.c.
References DEBUG1, LOG, readSource, and XLOG_FROM_PG_WAL.
Referenced by ReadRecord(), and XLogPageRead().
|
static |
Definition at line 478 of file xlogrecovery.c.
References disable_startup_progress_timeout(), and StandbyMode.
Referenced by InitWalRecovery(), and ReadRecord().
EndOfWalRecoveryInfo* FinishWalRecovery | ( | void | ) |
Definition at line 1458 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 4626 of file xlogrecovery.c.
References XLogRecoveryCtlData::currentChunkStartTime, XLogRecoveryCtlData::info_lck, SpinLockAcquire, SpinLockRelease, and XLogRecoveryCtl.
Referenced by GetReplicationApplyDelay().
XLogRecPtr GetCurrentReplayRecPtr | ( | TimeLineID * | replayEndTLI | ) |
Definition at line 4562 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 4596 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 2426 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, XLogRecGetRmid, and XLR_INFO_MASK.
Referenced by recoveryApplyDelay(), recoveryStopsAfter(), and recoveryStopsBefore().
RecoveryPauseState GetRecoveryPauseState | ( | void | ) |
Definition at line 3070 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 2886 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 4642 of file xlogrecovery.c.
References Assert, InRecovery, XLOG_FROM_STREAM, XLogReceiptSource, and XLogReceiptTime.
Referenced by GetStandbyLimitTime().
XLogRecPtr GetXLogReplayRecPtr | ( | TimeLineID * | replayTLI | ) |
Definition at line 4539 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 4502 of file xlogrecovery.c.
References XLogRecoveryCtlData::info_lck, LocalHotStandbyActive, XLogRecoveryCtlData::SharedHotStandbyActive, SpinLockAcquire, SpinLockRelease, and XLogRecoveryCtl.
Referenced by XLogWalRcvSendHSFeedback().
|
static |
Definition at line 4527 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 512 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(), 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, XLogRecPtrIsInvalid, and XLR_INFO_MASK.
Referenced by StartupXLOG().
void PerformWalRecovery | ( | void | ) |
Definition at line 1652 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, errmsg(), FATAL, GetCurrentTimestamp(), GetLatestXTime(), HandleStartupProcInterrupts(), 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(), 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().
|
static |
Definition at line 4768 of file xlogrecovery.c.
References ereport, errcode(), errdetail(), errmsg(), and ERROR.
bool PromoteIsTriggered | ( | void | ) |
Definition at line 4394 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 1208 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().
Definition at line 1354 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 4049 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, XLR_INFO_MASK, and XRecOffIsValid.
Referenced by InitWalRecovery().
|
static |
Definition at line 3131 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 1027 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 2982 of file xlogrecovery.c.
References ArchiveRecoveryRequested, CheckForStandbyTrigger(), DEBUG2, elog, GetCurrentTimestamp(), getRecordTimestamp(), HandleStartupProcInterrupts(), 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 2925 of file xlogrecovery.c.
References CheckForStandbyTrigger(), ConditionVariableCancelSleep(), ConditionVariableTimedSleep(), ConfirmRecoveryPaused(), ereport, errhint(), errmsg(), GetRecoveryPauseState(), HandleStartupProcInterrupts(), LocalHotStandbyActive, LocalPromoteIsTriggered, LOG, 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 4659 of file xlogrecovery.c.
References CheckForStandbyTrigger(), ConditionVariableCancelSleep(), ConditionVariableTimedSleep(), ConfirmRecoveryPaused(), ereport, errcode(), errdetail(), errhint(), errmsg(), FATAL, GetRecoveryPauseState(), HandleStartupProcInterrupts(), HotStandbyActiveInReplay(), LOG, RECOVERY_NOT_PAUSED, XLogRecoveryCtlData::recoveryNotPausedCV, SetRecoveryPause(), WARNING, and XLogRecoveryCtl.
Referenced by CheckRequiredParameterValues().
|
static |
Definition at line 2726 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, XLogRecGetXid, and XLR_INFO_MASK.
Referenced by PerformWalRecovery().
|
static |
Definition at line 2573 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 4454 of file xlogrecovery.c.
References PROMOTE_SIGNAL_FILE.
Referenced by CheckForStandbyTrigger(), and PostmasterMain().
|
static |
Definition at line 4104 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 2275 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 4614 of file xlogrecovery.c.
References XLogRecoveryCtlData::currentChunkStartTime, XLogRecoveryCtlData::info_lck, SpinLockAcquire, SpinLockRelease, and XLogRecoveryCtl.
Referenced by WaitForWALToBecomeAvailable().
|
static |
Definition at line 4585 of file xlogrecovery.c.
References XLogRecoveryCtlData::info_lck, XLogRecoveryCtlData::recoveryLastXTime, SpinLockAcquire, SpinLockRelease, and XLogRecoveryCtl.
Referenced by recoveryStopsAfter().
|
static |
Definition at line 4412 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 3090 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 1608 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 4375 of file xlogrecovery.c.
References currentSource, ereport, errmsg(), LOG, pendingWalRcvRestart, WalRcvRunning(), and XLOG_FROM_STREAM.
Referenced by StartupRereadConfig().
|
static |
Definition at line 1109 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 2461 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 3541 of file xlogrecovery.c.
References Assert, CheckForStandbyTrigger(), close, curFileTLI, currentSource, DEBUG2, elog, ERROR, expectedTLEs, flushedUpto, GetCurrentTimestamp(), GetWalRcvFlushRecPtr(), HandleStartupProcInterrupts(), InArchiveRecovery, KnownAssignedTransactionIdsIdleMaintenance(), lastSourceFailed, LOG, LSN_FORMAT_ARGS, now(), PANIC, pendingWalRcvRestart, PrimaryConnInfo, PrimarySlotName, 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 4478 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 2336 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 2297 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 4191 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 4273 of file xlogrecovery.c.
References TimeLineHistoryEntry::begin, curFileTLI, DEBUG1, 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 3298 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(), IsUnderPostmaster, lastSourceFailed, LSN_FORMAT_ARGS, MAXFNAMELEN, XLogReaderState::nonblocking, pg_pread, PG_USED_FOR_ASSERTS_ONLY, pgstat_report_wait_end(), pgstat_report_wait_start(), XLogReaderState::private_data, readFile, readLen, readOff, readSegNo, readSource, RequestCheckpoint(), XLogReaderState::seg, StandbyMode, 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 2072 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, XLogRecGetRmid, and XLR_INFO_MASK.
Referenced by ApplyWalRecord().
void XLogRecoveryShmemInit | ( | void | ) |
Definition at line 458 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 447 of file xlogrecovery.c.
References size.
Referenced by CalculateShmemSize(), and XLogRecoveryShmemInit().
void XLogRequestWalReceiverReply | ( | void | ) |
Definition at line 4487 of file xlogrecovery.c.
References doRequestWalReceiverReply.
Referenced by xact_redo_commit().
|
static |
Definition at line 372 of file xlogrecovery.c.
Referenced by FinishWalRecovery(), InitWalRecovery(), ReadRecord(), StartupXLOG(), and xlogrecovery_redo().
char* archiveCleanupCommand = NULL |
Definition at line 84 of file xlogrecovery.c.
Referenced by CreateRestartPoint().
Definition at line 137 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 282 of file xlogrecovery.c.
Referenced by CheckRecoveryConsistency(), InitWalRecovery(), and xlogrecovery_redo().
Definition at line 283 of file xlogrecovery.c.
Referenced by CheckRecoveryConsistency(), InitWalRecovery(), and read_backup_label().
|
static |
Definition at line 281 of file xlogrecovery.c.
Referenced by CheckRecoveryConsistency(), InitWalRecovery(), and xlogrecovery_redo().
|
static |
Definition at line 167 of file xlogrecovery.c.
Referenced by FinishWalRecovery(), InitWalRecovery(), and PerformWalRecovery().
|
static |
Definition at line 168 of file xlogrecovery.c.
Referenced by FinishWalRecovery(), InitWalRecovery(), and PerformWalRecovery().
|
static |
Definition at line 124 of file xlogrecovery.c.
Referenced by WaitForWALToBecomeAvailable(), XLogFileRead(), XLogFileReadAnyTLI(), and XLogPageRead().
|
static |
Definition at line 246 of file xlogrecovery.c.
Referenced by ReadRecord(), StartupRequestWalReceiverRestart(), and WaitForWALToBecomeAvailable().
|
static |
Definition at line 185 of file xlogrecovery.c.
Referenced by ApplyWalRecord(), and XLogRequestWalReceiverReply().
|
static |
Definition at line 123 of file xlogrecovery.c.
Referenced by checkTimeLineSwitch(), InitWalRecovery(), PrepareForIncrementalBackup(), ReadRecord(), rescanLatestTimeLine(), tliInHistory(), WaitForWALToBecomeAvailable(), and XLogFileReadAnyTLI().
|
static |
Definition at line 262 of file xlogrecovery.c.
Referenced by WaitForWALToBecomeAvailable(), and XLogPageRead().
Definition at line 138 of file xlogrecovery.c.
Referenced by CheckRecoveryConsistency(), FinishWalRecovery(), InitWalRecovery(), ReadRecord(), StartupXLOG(), WaitForWALToBecomeAvailable(), and xlog_redo().
Definition at line 203 of file xlogrecovery.c.
Referenced by PerformWalRecovery(), and XLogFileRead().
Definition at line 247 of file xlogrecovery.c.
Referenced by ReadRecord(), WaitForWALToBecomeAvailable(), and XLogPageRead().
Definition at line 176 of file xlogrecovery.c.
Referenced by CheckRecoveryConsistency(), HotStandbyActive(), HotStandbyActiveInReplay(), and recoveryPausesHere().
Definition at line 182 of file xlogrecovery.c.
Referenced by CheckForStandbyTrigger(), PromoteIsTriggered(), recoveryPausesHere(), and SetPromoteIsTriggered().
|
static |
Definition at line 278 of file xlogrecovery.c.
Referenced by CheckRecoveryConsistency(), checkTimeLineSwitch(), InitWalRecovery(), and ReadRecord().
|
static |
Definition at line 279 of file xlogrecovery.c.
Referenced by checkTimeLineSwitch(), InitWalRecovery(), and ReadRecord().
|
static |
Definition at line 373 of file xlogrecovery.c.
Referenced by FinishWalRecovery(), InitWalRecovery(), ReadRecord(), StartupXLOG(), and xlogrecovery_redo().
Definition at line 248 of file xlogrecovery.c.
Referenced by StartupRequestWalReceiverRestart(), and WaitForWALToBecomeAvailable().
|
static |
Definition at line 298 of file xlogrecovery.c.
Referenced by InitWalRecovery(), and verifyBackupPageConsistency().
char* PrimaryConnInfo = NULL |
Definition at line 96 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 97 of file xlogrecovery.c.
Referenced by slotsync_reread_config(), StartupRereadConfig(), validate_remote_info(), ValidateSlotSyncParams(), and WaitForWALToBecomeAvailable().
Definition at line 294 of file xlogrecovery.c.
Referenced by CheckRecoveryConsistency(), log_invalid_page(), PerformWalRecovery(), PrepareRedoAdd(), recovery_create_dbdir(), recoveryApplyDelay(), recoveryStopsAfter(), and recoveryStopsBefore().
|
static |
Definition at line 230 of file xlogrecovery.c.
Referenced by FinishWalRecovery(), ReadRecord(), ShutdownWalRecovery(), WaitForWALToBecomeAvailable(), and XLogPageRead().
|
static |
Definition at line 233 of file xlogrecovery.c.
Referenced by ReadPageInternal(), XLogFindNextRecord(), and XLogPageRead().
|
static |
Definition at line 232 of file xlogrecovery.c.
Referenced by FinishWalRecovery(), XLogDecodeNextRecord(), and XLogPageRead().
|
static |
Definition at line 231 of file xlogrecovery.c.
Referenced by WaitForWALToBecomeAvailable(), and XLogPageRead().
|
static |
Definition at line 234 of file xlogrecovery.c.
Referenced by emode_for_corrupt_record(), WaitForWALToBecomeAvailable(), XLogFileRead(), and XLogPageRead().
|
static |
Definition at line 263 of file xlogrecovery.c.
Referenced by GetStandbyFlushRecPtr(), GetWalRcvFlushRecPtr(), and WaitForWALToBecomeAvailable().
int recovery_min_apply_delay = 0 |
Definition at line 93 of file xlogrecovery.c.
Referenced by recoveryApplyDelay().
Definition at line 151 of file xlogrecovery.c.
Referenced by FinishWalRecovery(), and readRecoverySignalFile().
const struct config_enum_entry recovery_target_action_options[] |
Definition at line 1 of file xlogrecovery.c.
char* recovery_target_time_string |
Definition at line 89 of file xlogrecovery.c.
Referenced by validateRecoveryParameters().
char* recoveryEndCommand = NULL |
Definition at line 83 of file xlogrecovery.c.
Referenced by CleanupAfterArchiveRecovery().
char* recoveryRestoreCommand = NULL |
Definition at line 82 of file xlogrecovery.c.
Referenced by RestoreArchivedFile(), and validateRecoveryParameters().
|
static |
Definition at line 383 of file xlogrecovery.c.
Referenced by getRecoveryStopReason(), recoveryStopsAfter(), and recoveryStopsBefore().
|
static |
Definition at line 381 of file xlogrecovery.c.
Referenced by getRecoveryStopReason(), recoveryStopsAfter(), and recoveryStopsBefore().
|
static |
Definition at line 382 of file xlogrecovery.c.
Referenced by getRecoveryStopReason(), recoveryStopsAfter(), and recoveryStopsBefore().
|
static |
Definition at line 380 of file xlogrecovery.c.
Referenced by getRecoveryStopReason(), recoveryStopsAfter(), and recoveryStopsBefore().
|
static |
Definition at line 379 of file xlogrecovery.c.
Referenced by getRecoveryStopReason(), recoveryStopsAfter(), and recoveryStopsBefore().
RecoveryTargetType recoveryTarget = RECOVERY_TARGET_UNSET |
Definition at line 85 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 87 of file xlogrecovery.c.
Referenced by PerformWalRecovery(), and validateRecoveryParameters().
Definition at line 86 of file xlogrecovery.c.
Referenced by recoveryStopsAfter(), and recoveryStopsBefore().
XLogRecPtr recoveryTargetLSN |
Definition at line 92 of file xlogrecovery.c.
Referenced by assign_recovery_target_lsn(), InitWalRecovery(), recoveryStopsAfter(), and recoveryStopsBefore().
const char* recoveryTargetName |
Definition at line 91 of file xlogrecovery.c.
Referenced by assign_recovery_target_name(), InitWalRecovery(), and recoveryStopsAfter().
TimestampTz recoveryTargetTime |
Definition at line 90 of file xlogrecovery.c.
Referenced by InitWalRecovery(), recoveryStopsBefore(), and validateRecoveryParameters().
RecoveryTargetTimeLineGoal recoveryTargetTimeLineGoal = RECOVERY_TARGET_TIMELINE_LATEST |
Definition at line 120 of file xlogrecovery.c.
Referenced by assign_recovery_target_timeline(), validateRecoveryParameters(), and WaitForWALToBecomeAvailable().
TimeLineID recoveryTargetTLI = 0 |
Definition at line 122 of file xlogrecovery.c.
Referenced by InitWalRecovery(), rescanLatestTimeLine(), StartupXLOG(), validateRecoveryParameters(), WaitForWALToBecomeAvailable(), and XLogFileReadAnyTLI().
TimeLineID recoveryTargetTLIRequested = 0 |
Definition at line 121 of file xlogrecovery.c.
Referenced by assign_recovery_target_timeline(), and validateRecoveryParameters().
TransactionId recoveryTargetXid |
Definition at line 88 of file xlogrecovery.c.
Referenced by assign_recovery_target_xid(), InitWalRecovery(), recoveryStopsAfter(), and recoveryStopsBefore().
|
static |
Definition at line 169 of file xlogrecovery.c.
Referenced by InitWalRecovery(), PerformWalRecovery(), read_backup_label(), and WaitForWALToBecomeAvailable().
|
static |
Definition at line 170 of file xlogrecovery.c.
Referenced by InitWalRecovery(), PerformWalRecovery(), read_backup_label(), and WaitForWALToBecomeAvailable().
|
static |
Definition at line 297 of file xlogrecovery.c.
Referenced by InitWalRecovery(), and verifyBackupPageConsistency().
Definition at line 150 of file xlogrecovery.c.
Referenced by FinishWalRecovery(), and readRecoverySignalFile().
Definition at line 147 of file xlogrecovery.c.
Referenced by EnableStandbyMode(), FinishWalRecovery(), PerformWalRecovery(), ReadRecord(), RestoreArchivedFile(), update_synced_slots_inactive_since(), WaitForWALToBecomeAvailable(), and XLogPageRead().
Definition at line 146 of file xlogrecovery.c.
Referenced by InitWalRecovery(), ReadRecord(), readRecoverySignalFile(), and validateRecoveryParameters().
Definition at line 98 of file xlogrecovery.c.
Referenced by StartupRereadConfig(), and WaitForWALToBecomeAvailable().
|
static |
Definition at line 191 of file xlogrecovery.c.
Referenced by FinishWalRecovery(), InitWalRecovery(), PerformWalRecovery(), ReadCheckpointRecord(), ReadRecord(), ShutdownWalRecovery(), and WaitForWALToBecomeAvailable().
|
static |
Definition at line 188 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 259 of file xlogrecovery.c.
Referenced by GetXLogReceiptTime(), WaitForWALToBecomeAvailable(), and XLogFileRead().
|
static |
Definition at line 258 of file xlogrecovery.c.
Referenced by GetXLogReceiptTime(), PerformWalRecovery(), WaitForWALToBecomeAvailable(), and XLogFileRead().
|
static |
Definition at line 364 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 218 of file xlogrecovery.c.
Referenced by WaitForWALToBecomeAvailable().