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 1912 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 4808 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 4847 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 4882 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 4962 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 5011 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 5047 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 4754 of file xlogrecovery.c.
References newval, ReplicationSlotValidateName(), and WARNING.
bool check_recovery_target | ( | char ** | newval, |
void ** | extra, | ||
GucSource | source | ||
) |
Definition at line 4794 of file xlogrecovery.c.
References GUC_check_errdetail, and newval.
bool check_recovery_target_lsn | ( | char ** | newval, |
void ** | extra, | ||
GucSource | source | ||
) |
Definition at line 4824 of file xlogrecovery.c.
References ERROR, guc_malloc(), newval, and pg_lsn_in_internal().
bool check_recovery_target_name | ( | char ** | newval, |
void ** | extra, | ||
GucSource | source | ||
) |
Definition at line 4866 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 4907 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 4978 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.
bool check_recovery_target_xid | ( | char ** | newval, |
void ** | extra, | ||
GucSource | source | ||
) |
Definition at line 5024 of file xlogrecovery.c.
References ERROR, guc_malloc(), and newval.
|
static |
Definition at line 4447 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 4477 of file xlogrecovery.c.
References PROMOTE_SIGNAL_FILE, and stat.
Referenced by CheckForStandbyTrigger(), and process_pm_pmsignal().
|
static |
Definition at line 2180 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 2147 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 2382 of file xlogrecovery.c.
References ereport, errmsg(), expectedTLEs, LSN_FORMAT_ARGS, minRecoveryPoint, minRecoveryPointTLI, PANIC, tliInHistory(), and XLogRecPtrIsInvalid.
Referenced by ApplyWalRecord().
|
static |
Definition at line 3115 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 4046 of file xlogrecovery.c.
References DEBUG1, LOG, readSource, and XLOG_FROM_PG_WAL.
Referenced by ReadRecord(), and XLogPageRead().
|
static |
Definition at line 479 of file xlogrecovery.c.
References disable_startup_progress_timeout(), and StandbyMode.
Referenced by InitWalRecovery(), and ReadRecord().
|
static |
Definition at line 4782 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 1461 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 4640 of file xlogrecovery.c.
References XLogRecoveryCtlData::currentChunkStartTime, XLogRecoveryCtlData::info_lck, SpinLockAcquire, SpinLockRelease, and XLogRecoveryCtl.
Referenced by GetReplicationApplyDelay().
XLogRecPtr GetCurrentReplayRecPtr | ( | TimeLineID * | replayEndTLI | ) |
Definition at line 4576 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 4610 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 2431 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 3075 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 2891 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 4656 of file xlogrecovery.c.
References Assert(), InRecovery, XLOG_FROM_STREAM, XLogReceiptSource, and XLogReceiptTime.
Referenced by GetStandbyLimitTime().
XLogRecPtr GetXLogReplayRecPtr | ( | TimeLineID * | replayTLI | ) |
Definition at line 4553 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 4516 of file xlogrecovery.c.
References XLogRecoveryCtlData::info_lck, LocalHotStandbyActive, XLogRecoveryCtlData::SharedHotStandbyActive, SpinLockAcquire, SpinLockRelease, and XLogRecoveryCtl.
Referenced by XLogWalRcvSendHSFeedback().
|
static |
Definition at line 4541 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 513 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 1655 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 4408 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 1211 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 1357 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 4065 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 3136 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 1030 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 2987 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 2930 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 4673 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 2731 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 2578 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 4468 of file xlogrecovery.c.
References PROMOTE_SIGNAL_FILE.
Referenced by CheckForStandbyTrigger(), and PostmasterMain().
|
static |
Definition at line 4120 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 2280 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 4628 of file xlogrecovery.c.
References XLogRecoveryCtlData::currentChunkStartTime, XLogRecoveryCtlData::info_lck, SpinLockAcquire, SpinLockRelease, and XLogRecoveryCtl.
Referenced by WaitForWALToBecomeAvailable().
|
static |
Definition at line 4599 of file xlogrecovery.c.
References XLogRecoveryCtlData::info_lck, XLogRecoveryCtlData::recoveryLastXTime, SpinLockAcquire, SpinLockRelease, and XLogRecoveryCtl.
Referenced by recoveryStopsAfter().
|
static |
Definition at line 4426 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 3095 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 1611 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 4389 of file xlogrecovery.c.
References currentSource, ereport, errmsg(), LOG, pendingWalRcvRestart, WalRcvRunning(), and XLOG_FROM_STREAM.
Referenced by StartupRereadConfig().
|
static |
Definition at line 1112 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 2466 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 3558 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 4492 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 2341 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 2302 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 4207 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 4289 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 3303 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 2076 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 459 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 448 of file xlogrecovery.c.
Referenced by CalculateShmemSize(), and XLogRecoveryShmemInit().
void XLogRequestWalReceiverReply | ( | void | ) |
Definition at line 4501 of file xlogrecovery.c.
References doRequestWalReceiverReply.
Referenced by xact_redo_commit().
|
static |
Definition at line 373 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 374 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 299 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 295 of file xlogrecovery.c.
Referenced by CheckRecoveryConsistency(), log_invalid_page(), PerformWalRecovery(), PrepareRedoAdd(), 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 384 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 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 380 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 298 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 365 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().