Versions in this module Expand all Collapse all v0 v0.2.23 May 14, 2021 Changes in this version + const BackupLabelFilename + const BasePrefix + const BlocksInRelFile + const DatabasePageSize + const DefaultSpcNode + const DefaultTablespace + const DeltaFilenameSuffix + const FnvPrime + const GlobalTablespace + const NSums + const NonDefaultTablespace + const PartFilenameSuffix + const PatternTimelineAndLogSegNo + const PdChecksumLen + const PdChecksumOffset + const PgControl + const PgControlPath + const RecordPartFilename + const RelFileSizeBound + const SignatureMagicNumber + const StandbyMessageTimeout + const TablespaceFolder + const TablespaceMapFilename + const Tablespaces + const TimelineLostSegmentStatus + const TimelineOkStatus + const WalBulkMetadataLevel + const WalFileInDelta + const WalIndividualMetadataLevel + const WalNoMetadataLevel + const WalVerifyIntegrityCheck + const WalVerifyTimelineCheck + var ErrorBasePrefixMissing = fmt.Errorf("base prefix not set while working with tablespaces") + var ExcludedFilenames = make(map[string]utility.Empty) + var IncrementFileHeader = []byte + var UnwrapAll map[string]bool = nil + var UtilityFilePaths = map[string]bool + var WalMetadataLevels = []string + var WalSegmentSize = uint64(16 * 1024 * 1024) + func ApplyFileIncrement(fileName string, increment io.Reader, createNewIncrementalFiles bool) error + func BackupCopyingInfo(backup Backup, from storage.Folder, to storage.Folder) ([]copy.InfoProvider, error) + func CleanupPrefetchDirectories(walFileName string, location string, cleaner Cleaner) + func Connect(configOptions ...func(config *pgx.ConnConfig) error) (*pgx.Conn, error) + func CreateFileFromIncrement(increment io.Reader, target ReadWriterAt) (int64, error) + func FetchPgBackupName(object storage.Object) string + func GetBaseFilesToUnwrap(backupFileStates internal.BackupFileList, currentFilesToUnwrap map[string]bool) (map[string]bool, error) + func GetDeltaFilenameFor(walFilename string) (string, error) + func GetIncrementHeaderFields(increment io.Reader) (uint64, uint32, []byte, error) + func GetLastWalFilename(backup Backup) (string, error) + func GetNextWalFilename(name string) (string, error) + func GetPermanentBackupsAndWals(folder storage.Folder) (map[string]bool, map[string]bool) + func GetPgFetcherNew(dbDataDirectory, fileMask, restoreSpecPath string, skipRedundantTars bool) func(folder storage.Folder, backup internal.Backup) + func GetPgFetcherOld(dbDataDirectory, fileMask, restoreSpecPath string) func(rootFolder storage.Folder, backup internal.Backup) + func GetPositionInDelta(walFilename string) int + func GetRelFileIDFrom(filePath string) (int, error) + func GetRelFileNodeFrom(filePath string) (*walparser.RelFileNode, error) + func HandleCatchupFetch(folder storage.Folder, dbDirectory, backupName string, useNewUnwrap bool) + func HandleCatchupPush(pgDataDirectory string, fromLSN uint64) + func HandleCopy(fromConfigFile string, toConfigFile string, backupName string, ...) + func HandleDetailedBackupList(folder storage.Folder, pretty bool, json bool) + func HandleWALFetch(folder storage.Folder, walFileName string, location string, ...) + func HandleWALPrefetch(uploader *WalUploader, walFileName string, location string) + func HandleWALPush(uploader *WalUploader, walFilePath string) + func HandleWALReceive(uploader *WalUploader) + func HandleWalShow(rootFolder storage.Folder, showBackups bool, outputWriter WalShowOutputWriter) + func HandleWalVerify(checkTypes []WalVerifyCheckType, rootFolder storage.Folder, ...) + func HistoryCopyingInfo(backup Backup, from storage.Folder, to storage.Folder) ([]copy.InfoProvider, error) + func IsPermanent(objectName string, permanentBackups, permanentWals map[string]bool) bool + func IsPgControlRequired(backup Backup, sentinelDto BackupSentinelDto) bool + func ParseTimelineFromBackupName(backupName string) (uint32, error) + func ParseTimelineFromString(timelineString string) (uint32, error) + func ParseWALFilename(name string) (timelineID uint32, logSegNo uint64, err error) + func PrepareDirs(fileName string, targetPath string) error + func ReadIncrementFileHeader(reader io.Reader) error + func ReadIncrementLocations(filePath string, fileSize int64, lsn uint64) ([]walparser.BlockLocation, error) + func ReadIncrementalFile(filePath string, fileSize int64, lsn uint64, deltaBitmap *roaring.Bitmap) (fileReader io.ReadCloser, size int64, err error) + func RestoreMissingPages(base io.Reader, target ReadWriterAt) error + func SelectRelFileBlocks(bitmap *roaring.Bitmap, relFileID int) *roaring.Bitmap + func SetWalSize(sizeMb uint64) + func ToPartFilename(deltaFilename string) string + func TryFetchTimelineAndLogSegNo(objectName string) (uint32, uint64, bool) + func ValidateSlotName(pgSlotName string) (err error) + func VerifyPagedFileBase(path string, fileInfo os.FileInfo, pagedFile io.Reader) ([]uint32, error) + func VerifyPagedFileIncrement(path string, fileInfo os.FileInfo, increment io.Reader) ([]uint32, error) + func WildcardInfo(from storage.Folder, to storage.Folder) ([]copy.InfoProvider, error) + func WritePagesFromIncrement(increment io.Reader, target ReadWriterAt, overwriteExisting bool) (int64, error) + type Backup struct + SentinelDto *BackupSentinelDto + func NewBackup(baseBackupFolder storage.Folder, name string) Backup + func ToPgBackup(source internal.Backup) (output Backup) + func (backup *Backup) FetchMeta() (ExtendedMetadataDto, error) + func (backup *Backup) GetFilesToUnwrap(fileMask string) (map[string]bool, error) + func (backup *Backup) GetSentinel() (BackupSentinelDto, error) + func (backup *Backup) GetTarNames() ([]string, error) + type BackupArguments struct + func NewBackupArguments(pgDataDirectory string, backupsFolder string, isPermanent bool, ...) BackupArguments + type BackupDetail struct + func GetBackupDetails(folder storage.Folder, backupTime internal.BackupTime) (BackupDetail, error) + func GetBackupsDetails(folder storage.Folder, backups []internal.BackupTime) ([]BackupDetail, error) + type BackupFileOptions struct + type BackupFileUnwrapper struct + type BackupHandler struct + func NewBackupHandler(arguments BackupArguments) (bh *BackupHandler, err error) + func (bh *BackupHandler) HandleBackupPush() + type BackupPgInfo struct + type BackupSentinelDto struct + BackupFinishLSN *uint64 + BackupStartLSN *uint64 + CompressedSize int64 + Files internal.BackupFileList + IncrementCount *int + IncrementFrom *string + IncrementFromLSN *uint64 + IncrementFullName *string + PgVersion int + SystemIdentifier *uint64 + TablespaceSpec *TablespaceSpec + TarFileSets TarFileSets + UncompressedSize int64 + UserData interface{} + func NewBackupSentinelDto(bh *BackupHandler, tbsSpec *TablespaceSpec, tarFileSets TarFileSets) BackupSentinelDto + func (dto *BackupSentinelDto) IsIncremental() (isIncremental bool) + type BackupWorkers struct + type BgUploader struct + func NewBgUploader(walFilePath string, maxParallelWorkers int32, maxNumUploaded int32, ...) *BgUploader + func (b *BgUploader) Start() + func (b *BgUploader) Stop() error + type Bundle struct + Crypter crypto.Crypter + DeltaMap PagedFileDeltaMap + Directory string + IncrementFromFiles internal.BackupFileList + IncrementFromLsn *uint64 + Replica bool + Sentinel *internal.Sentinel + TablespaceSpec TablespaceSpec + TarBallComposer TarBallComposer + TarBallQueue *internal.TarBallQueue + TarSizeThreshold int64 + Timeline uint32 + func NewBundle(directory string, crypter crypto.Crypter, incrementFromLsn *uint64, ...) *Bundle + func (bundle *Bundle) DownloadDeltaMap(folder storage.Folder, backupStartLSN uint64) error + func (bundle *Bundle) FinishQueue() error + func (bundle *Bundle) GetFiles() *sync.Map + func (bundle *Bundle) HandleWalkedFSObject(path string, info os.FileInfo, err error) error + func (bundle *Bundle) NewTarBall(dedicatedUploader bool) internal.TarBall + func (bundle *Bundle) PackTarballs() (TarFileSets, error) + func (bundle *Bundle) SetupComposer(composerMaker TarBallComposerMaker) (err error) + func (bundle *Bundle) StartBackup(conn *pgx.Conn, backup string) (backupName string, lsn uint64, err error) + func (bundle *Bundle) StartQueue(tarBallMaker internal.TarBallMaker) error + func (bundle *Bundle) UploadPgControl(compressorFileExtension string) error + type BundleFiles interface + AddFile func(tarHeader *tar.Header, fileInfo os.FileInfo, isIncremented bool) + AddFileWithCorruptBlocks func(tarHeader *tar.Header, fileInfo os.FileInfo, isIncremented bool, ...) + AddSkippedFile func(tarHeader *tar.Header, fileInfo os.FileInfo) + GetUnderlyingMap func() *sync.Map + type BytesPerWalSegmentError struct + func (err BytesPerWalSegmentError) Error() string + type CantDiscardWalDataError struct + func (err CantDiscardWalDataError) Error() string + type CantOverwriteWalFileError struct + func (err CantOverwriteWalFileError) Error() string + type CatchupFileUnwrapper struct + func (u *CatchupFileUnwrapper) UnwrapExistingFile(reader io.Reader, header *tar.Header, file *os.File) (*FileUnwrapResult, error) + func (u *CatchupFileUnwrapper) UnwrapNewFile(reader io.Reader, header *tar.Header, file *os.File) (*FileUnwrapResult, error) + type Cleaner interface + GetFiles func(directory string) ([]string, error) + Remove func(file string) + type ComposeFileInfo struct + func NewComposeFileInfo(path string, fileInfo os.FileInfo, wasInBase, isIncremented bool, ...) *ComposeFileInfo + type CurBackupInfo struct + type DefaultFileUnwrapper struct + func (u *DefaultFileUnwrapper) UnwrapExistingFile(reader io.Reader, header *tar.Header, file *os.File) (*FileUnwrapResult, error) + func (u *DefaultFileUnwrapper) UnwrapNewFile(reader io.Reader, header *tar.Header, file *os.File) (*FileUnwrapResult, error) + type DeltaFile struct + Locations []walparser.BlockLocation + WalParser *walparser.WalParser + func LoadDeltaFile(reader io.Reader) (*DeltaFile, error) + func NewDeltaFile(walParser *walparser.WalParser) (*DeltaFile, error) + func (deltaFile *DeltaFile) Save(writer io.Writer) error + type DeltaFileChanWriter struct + BlockLocationConsumer chan walparser.BlockLocation + DeltaFile *DeltaFile + func NewDeltaFileChanWriter(deltaFile *DeltaFile) *DeltaFileChanWriter + func (writer *DeltaFileChanWriter) Consume(waitGroup *sync.WaitGroup) + type DeltaFileManager struct + CanceledDeltaFiles map[string]bool + DeltaFileWriters *internal.LazyCache + PartFiles *internal.LazyCache + func NewDeltaFileManager(dataFolder fsutil.DataFolder) *DeltaFileManager + func (manager *DeltaFileManager) CancelRecording(walFilename string) + func (manager *DeltaFileManager) CombinePartFile(deltaFilename string, partFile *WalPartFile) error + func (manager *DeltaFileManager) FlushDeltaFiles(uploader *internal.Uploader, completedPartFiles map[string]bool) + func (manager *DeltaFileManager) FlushFiles(uploader *internal.Uploader) + func (manager *DeltaFileManager) FlushPartFiles() (completedPartFiles map[string]bool) + func (manager *DeltaFileManager) GetBlockLocationConsumer(deltaFilename string) (chan walparser.BlockLocation, error) + func (manager *DeltaFileManager) GetPartFile(deltaFilename string) (*WalPartFile, error) + type DeltaFileWriterNotFoundError struct + func (err DeltaFileWriterNotFoundError) Error() string + type DeltaNo uint64 + type ExtendedMetadataDto struct + CompressedSize int64 + DataDir string + DatetimeFormat string + FinishLsn uint64 + FinishTime time.Time + Hostname string + IsPermanent bool + PgVersion int + StartLsn uint64 + StartTime time.Time + SystemIdentifier *uint64 + UncompressedSize int64 + UserData interface{} + func NewExtendedMetadataDto(isPermanent bool, dataDir string, startTime time.Time, ...) (meta ExtendedMetadataDto) + type FetchConfig struct + func NewFetchConfig(backupName, dbDataDirectory string, folder storage.Folder, ...) *FetchConfig + func (fc *FetchConfig) SkipRedundantFiles(unwrapResult *UnwrapResult) + type FileNotExistError struct + func (err FileNotExistError) Error() string + type FileTarInterpreter struct + DBDataDirectory string + FilesToUnwrap map[string]bool + Sentinel BackupSentinelDto + UnwrapResult *UnwrapResult + func NewFileTarInterpreter(dbDataDirectory string, sentinel BackupSentinelDto, ...) *FileTarInterpreter + func (tarInterpreter *FileTarInterpreter) AddFileUnwrapResult(result *FileUnwrapResult, fileName string) + func (tarInterpreter *FileTarInterpreter) Interpret(fileReader io.Reader, fileInfo *tar.Header) error + type FileUnwrapResult struct + func NewCompletedResult() *FileUnwrapResult + func NewCreatedFromIncrementResult(missingBlockCount int64) *FileUnwrapResult + func NewSkippedResult() *FileUnwrapResult + func NewWroteIncrementBlocksResult(restoredBlockCount int64) *FileUnwrapResult + type FileUnwrapResultType int + const Completed + const CreatedFromIncrement + const Skipped + const WroteIncrementBlocks + type FileUnwrapperType int + const CatchupBackupFileUnwrapper + const DefaultBackupFileUnwrapper + type GenericMetaFetcher struct + func NewGenericMetaFetcher() GenericMetaFetcher + func (mf GenericMetaFetcher) Fetch(backupName string, backupFolder storage.Folder) (internal.GenericMetadata, error) + type GenericMetaInteractor struct + func NewGenericMetaInteractor() GenericMetaInteractor + type GenericMetaSetter struct + func NewGenericMetaSetter() GenericMetaSetter + func (ms GenericMetaSetter) SetIsPermanent(backupName string, backupFolder storage.Folder, isPermanent bool) error + func (ms GenericMetaSetter) SetUserData(backupName string, backupFolder storage.Folder, userData interface{}) error + type HistoryFileNotFoundError struct + func (err HistoryFileNotFoundError) Error() string + type IBackupFileUnwrapper interface + UnwrapExistingFile func(reader io.Reader, header *tar.Header, file *os.File) (*FileUnwrapResult, error) + UnwrapNewFile func(reader io.Reader, header *tar.Header, file *os.File) (*FileUnwrapResult, error) + func NewFileUnwrapper(unwrapperType FileUnwrapperType, options *BackupFileOptions) IBackupFileUnwrapper + type IncorrectBackupNameError struct + func (err IncorrectBackupNameError) Error() string + type IncorrectLogSegNoError struct + func (err IncorrectLogSegNoError) Error() string + type IncrementDetailsFetcher struct + func NewIncrementDetailsFetcher(backup Backup) *IncrementDetailsFetcher + func (idf *IncrementDetailsFetcher) Fetch() (bool, internal.IncrementDetails, error) + type IncrementalPageReader struct + Blocks []uint32 + FileSize int64 + Lsn uint64 + Next []byte + PagedFile ioextensions.ReadSeekCloser + func (pageReader *IncrementalPageReader) AdvanceFileReader() error + func (pageReader *IncrementalPageReader) Close() error + func (pageReader *IncrementalPageReader) DeltaBitmapInitialize(deltaBitmap *roaring.Bitmap) + func (pageReader *IncrementalPageReader) DrainMoreData() (succeed bool, err error) + func (pageReader *IncrementalPageReader) FullScanInitialize() error + func (pageReader *IncrementalPageReader) Read(p []byte) (n int, err error) + func (pageReader *IncrementalPageReader) SelectNewValidPage(pageBytes []byte, blockNo uint32) (valid bool) + func (pageReader *IncrementalPageReader) WriteDiffMapToHeader(headerWriter io.Writer) + type IntegrityCheckDetails []*IntegrityScanSegmentSequence + func (sequences IntegrityCheckDetails) NewPlainTextReader() (io.Reader, error) + type IntegrityCheckRunner struct + func NewIntegrityCheckRunner(rootFolder storage.Folder, walFolderFilenames []string, ...) (IntegrityCheckRunner, error) + func (check IntegrityCheckRunner) Run() (WalVerifyCheckResult, error) + func (check IntegrityCheckRunner) Type() WalVerifyCheckType + type IntegrityScanSegmentSequence struct + EndSegment string + SegmentsCount int + StartSegment string + Status ScannedSegmentStatus + TimelineID uint32 + type InvalidBlockError struct + func (err InvalidBlockError) Error() string + type InvalidIncrementFileHeaderError struct + func (err InvalidIncrementFileHeaderError) Error() string + type InvalidWalFileMagicError struct + func (err InvalidWalFileMagicError) Error() string + type NilWalParserError struct + func (err NilWalParserError) Error() string + type NoBitmapFoundError struct + func (err NoBitmapFoundError) Error() string + type NoCorrectBackupFoundError struct + func (err NoCorrectBackupFoundError) Error() string + type NoPostgresVersionError struct + func (err NoPostgresVersionError) Error() string + type NonEmptyDBDataDirectoryError struct + func NewNonEmptyDBDataDirectoryError(dbDataDirectory string) NonEmptyDBDataDirectoryError + func (err NonEmptyDBDataDirectoryError) Error() string + type NotWalFilenameError struct + func (err NotWalFilenameError) Error() string + type PageHeader struct + type PagedFileDeltaMap map[walparser.RelFileNode]*roaring.Bitmap + func NewPagedFileDeltaMap() PagedFileDeltaMap + func (deltaMap *PagedFileDeltaMap) AddLocationToDelta(location walparser.BlockLocation) + func (deltaMap *PagedFileDeltaMap) AddLocationsToDelta(locations []walparser.BlockLocation) + func (deltaMap *PagedFileDeltaMap) GetDeltaBitmapFor(filePath string) (*roaring.Bitmap, error) + type PgChecksummablePage [DatabasePageSize / int64(NSums*sizeofInt32)][NSums]uint32 + type PgControlNotFoundError struct + func (err PgControlNotFoundError) Error() string + type PgDatabaseInfo struct + type PgDatabasePage [DatabasePageSize]byte + type PgQueryRunner struct + SystemIdentifier *uint64 + Version int + func (queryRunner *PgQueryRunner) BuildGetDatabasesQuery() (string, error) + func (queryRunner *PgQueryRunner) BuildStartBackup() (string, error) + func (queryRunner *PgQueryRunner) BuildStatisticsQuery() (string, error) + func (queryRunner *PgQueryRunner) BuildStopBackup() (string, error) + func (queryRunner *PgQueryRunner) GetDataDir() (dataDir string, err error) + func (queryRunner *PgQueryRunner) GetParameter(parameterName string) (string, error) + func (queryRunner *PgQueryRunner) GetPhysicalSlotInfo(slotName string) (PhysicalSlot, error) + func (queryRunner *PgQueryRunner) GetWalSegmentBytes() (segBlocks uint64, err error) + func (queryRunner *PgQueryRunner) IsTablespaceMapExists() bool + type PgRelationStat struct + type PhysicalSlot struct + Active bool + Exists bool + Name string + RestartLSN pglogrepl.LSN + func NewPhysicalSlot(name string, exists bool, active bool, restartLSN string) (slot PhysicalSlot, err error) + type PrevBackupInfo struct + type ProcessMessageResult int + const ProcessMessageCopyDone + const ProcessMessageMismatch + const ProcessMessageOK + const ProcessMessageReplyRequested + const ProcessMessageSegmentGap + const ProcessMessageUnknown + type QueryRunner interface + StartBackup func(backup string) (string, string, bool, error) + StopBackup func() (string, string, string, error) + type RatedComposeFileInfo struct + type RatingTarBallComposer struct + func NewRatingTarBallComposer(tarSizeThreshold uint64, updateRatingEvaluator internal.ComposeRatingEvaluator, ...) (*RatingTarBallComposer, error) + func (c *RatingTarBallComposer) AddFile(info *ComposeFileInfo) + func (c *RatingTarBallComposer) AddHeader(fileInfoHeader *tar.Header, info os.FileInfo) error + func (c *RatingTarBallComposer) GetFiles() BundleFiles + func (c *RatingTarBallComposer) PackTarballs() (TarFileSets, error) + func (c *RatingTarBallComposer) SkipFile(tarHeader *tar.Header, fileInfo os.FileInfo) + type RatingTarBallComposerMaker struct + func NewRatingTarBallComposerMaker(relFileStats RelFileStatistics, filePackerOptions TarBallFilePackerOptions) (*RatingTarBallComposerMaker, error) + func (maker *RatingTarBallComposerMaker) Make(bundle *Bundle) (TarBallComposer, error) + type ReachedStopSegmentError struct + func (err ReachedStopSegmentError) Error() string + type ReadWriterAt interface + Name func() string + Size func() int64 + func NewReadWriterAtFrom(file *os.File) (ReadWriterAt, error) + type ReadWriterAtFileImpl struct + func (rw *ReadWriterAtFileImpl) Size() int64 + type RegularBundleFiles struct + func (files *RegularBundleFiles) AddFile(tarHeader *tar.Header, fileInfo os.FileInfo, isIncremented bool) + func (files *RegularBundleFiles) AddFileWithCorruptBlocks(tarHeader *tar.Header, fileInfo os.FileInfo, isIncremented bool, ...) + func (files *RegularBundleFiles) AddSkippedFile(tarHeader *tar.Header, fileInfo os.FileInfo) + func (files *RegularBundleFiles) GetUnderlyingMap() *sync.Map + type RegularTarBallComposer struct + func NewRegularTarBallComposer(tarBallQueue *internal.TarBallQueue, tarBallFilePacker *TarBallFilePacker, ...) *RegularTarBallComposer + func (c *RegularTarBallComposer) AddFile(info *ComposeFileInfo) + func (c *RegularTarBallComposer) AddHeader(fileInfoHeader *tar.Header, info os.FileInfo) error + func (c *RegularTarBallComposer) GetFiles() BundleFiles + func (c *RegularTarBallComposer) PackTarballs() (TarFileSets, error) + func (c *RegularTarBallComposer) SkipFile(tarHeader *tar.Header, fileInfo os.FileInfo) + type RegularTarBallComposerMaker struct + func NewRegularTarBallComposerMaker(filePackerOptions TarBallFilePackerOptions) *RegularTarBallComposerMaker + func (maker *RegularTarBallComposerMaker) Make(bundle *Bundle) (TarBallComposer, error) + type RelFileStatistics map[walparser.RelFileNode]PgRelationStat + type ScannedSegmentDescription struct + type ScannedSegmentStatus int + const Found + const Lost + const ProbablyDelayed + const ProbablyUploading + func (status ScannedSegmentStatus) MarshalText() ([]byte, error) + func (status ScannedSegmentStatus) String() string + type SegmentScanConfig struct + MissingSegmentStatus ScannedSegmentStatus + ScanSegmentsLimit int + StopOnFirstFoundSegment bool + UnlimitedScan bool + type SkippedFileError struct + func (err SkippedFileError) Error() string + type StatBundleFiles struct + func (files *StatBundleFiles) AddFile(tarHeader *tar.Header, fileInfo os.FileInfo, isIncremented bool) + func (files *StatBundleFiles) AddFileWithCorruptBlocks(tarHeader *tar.Header, fileInfo os.FileInfo, isIncremented bool, ...) + func (files *StatBundleFiles) AddSkippedFile(tarHeader *tar.Header, fileInfo os.FileInfo) + func (files *StatBundleFiles) GetUnderlyingMap() *sync.Map + type StreamingBaseBackup struct + EndLSN pglogrepl.LSN + Files internal.BackupFileList + StartLSN pglogrepl.LSN + TimeLine uint32 + UncompressedSize int64 + func NewStreamingBaseBackup(pgDataDir string, maxTarSize int64, pgConn *pgconn.PgConn) (bb *StreamingBaseBackup) + func (bb *StreamingBaseBackup) BackupName() string + func (bb *StreamingBaseBackup) FileName() string + func (bb *StreamingBaseBackup) Finish() (err error) + func (bb *StreamingBaseBackup) GetTablespaceSpec() *TablespaceSpec + func (bb *StreamingBaseBackup) Path() string + func (bb *StreamingBaseBackup) Read(p []byte) (n int, err error) + func (bb *StreamingBaseBackup) Start(verifyChecksum bool, diskLimit int32) (err error) + func (bb *StreamingBaseBackup) Upload(uploader *WalUploader) (err error) + type TablespaceLocation struct + Location string + Symlink string + type TablespaceSpec struct + func NewTablespaceSpec(basePrefix string) TablespaceSpec + func (spec *TablespaceSpec) BasePrefix() (string, bool) + func (spec *TablespaceSpec) MarshalJSON() ([]byte, error) + func (spec *TablespaceSpec) TablespaceNames() []string + func (spec *TablespaceSpec) UnmarshalJSON(b []byte) error + type TarBallComposer interface + AddFile func(info *ComposeFileInfo) + AddHeader func(header *tar.Header, fileInfo os.FileInfo) error + GetFiles func() BundleFiles + PackTarballs func() (TarFileSets, error) + SkipFile func(tarHeader *tar.Header, fileInfo os.FileInfo) + type TarBallComposerMaker interface + Make func(bundle *Bundle) (TarBallComposer, error) + func NewTarBallComposerMaker(composerType TarBallComposerType, conn *pgx.Conn, ...) (TarBallComposerMaker, error) + type TarBallComposerType int + const RatingComposer + const RegularComposer + type TarBallFilePacker struct + func (p *TarBallFilePacker) PackFileIntoTar(cfi *ComposeFileInfo, tarBall internal.TarBall) error + func (p *TarBallFilePacker) UpdateDeltaMap(deltaMap PagedFileDeltaMap) + type TarBallFilePackerOptions struct + func NewTarBallFilePackerOptions(verifyPageChecksums, storeAllCorruptBlocks bool) TarBallFilePackerOptions + type TarFileSets map[string][]string + type TarFilesCollection struct + func (collection *TarFilesCollection) AddFile(file *RatedComposeFileInfo) + type TarSizeError struct + func (err TarSizeError) Error() string + type TarballStreamer struct + Files internal.BackupFileList + Remaps TarballStreamerRemaps + Tee []string + TeeIo *bytes.Buffer + func NewTarballStreamer(input io.Reader, maxTarSize int64) (streamer *TarballStreamer) + func (streamer *TarballStreamer) NextInputFile() (err error) + func (streamer *TarballStreamer) Read(p []byte) (n int, err error) + type TarballStreamerRemap struct + func NewTarballStreamerRemap(from string, to string) (tsr *TarballStreamerRemap, err error) + type TarballStreamerRemaps []TarballStreamerRemap + type TimeLineHistFile struct + Filename string + TimeLineID uint32 + func NewTimeLineHistFile(timelineid uint32, filename string, body []byte) (TimeLineHistFile, error) + func (tlh TimeLineHistFile) LSNToTimeLine(lsn pglogrepl.LSN) (uint32, error) + func (tlh TimeLineHistFile) Name() string + func (tlh TimeLineHistFile) Read(p []byte) (n int, err error) + type TimeLineHistFileRow struct + Comment string + StartLSN pglogrepl.LSN + TimeLineID uint32 + type TimelineCheckDetails struct + CurrentTimelineID uint32 + HighestStorageTimelineID uint32 + func (details TimelineCheckDetails) NewPlainTextReader() (io.Reader, error) + type TimelineCheckRunner struct + func NewTimelineCheckRunner(walFolderFilenames []string, currentSegment WalSegmentDescription) (TimelineCheckRunner, error) + func (check TimelineCheckRunner) Name() string + func (check TimelineCheckRunner) Run() (WalVerifyCheckResult, error) + func (check TimelineCheckRunner) Type() WalVerifyCheckType + type TimelineHistoryRecord struct + func NewTimelineHistoryRecord(timeline uint32, lsn uint64, comment string) *TimelineHistoryRecord + type TimelineInfo struct + Backups []*BackupDetail + EndSegment string + ID uint32 + MissingSegments []string + ParentID uint32 + SegmentRangeSize uint64 + SegmentsCount int + StartSegment string + Status string + SwitchPointLsn uint64 + func NewTimelineInfo(walSegments *WalSegmentsSequence, historyRecords []*TimelineHistoryRecord) (*TimelineInfo, error) + type UnexpectedTarDataError struct + func (err UnexpectedTarDataError) Error() string + type UnknownIncrementFileHeaderError struct + func (err UnknownIncrementFileHeaderError) Error() string + type UnknownTableSpaceError struct + func (err UnknownTableSpaceError) Error() string + type UnknownWalVerifyCheckError struct + func NewUnknownWalVerifyCheckError(checkType WalVerifyCheckType) UnknownWalVerifyCheckError + func (err UnknownWalVerifyCheckError) Error() string + type UnsupportedPostgresVersionError struct + func (err UnsupportedPostgresVersionError) Error() string + type UnwrapResult struct + type WalDeltaRecorder struct + func NewWalDeltaRecorder(blockLocationConsumer chan walparser.BlockLocation) *WalDeltaRecorder + type WalDeltaRecordingReader struct + PageDataLeftover []byte + PageReader walparser.WalPageReader + Recorder *WalDeltaRecorder + WalParser walparser.WalParser + func NewWalDeltaRecordingReader(walFileReader io.Reader, walFilename string, manager *DeltaFileManager) (*WalDeltaRecordingReader, error) + func (reader *WalDeltaRecordingReader) Close() error + func (reader *WalDeltaRecordingReader) Read(p []byte) (n int, err error) + func (reader *WalDeltaRecordingReader) RecordBlockLocationsFromPage() error + type WalMetadataDescription struct + CreatedTime time.Time + DatetimeFormat string + type WalMetadataUploader struct + func NewWalMetadataUploader(walMetadataSetting string) (*WalMetadataUploader, error) + func (u *WalMetadataUploader) UploadWalMetadata(walFileName string, createdTime time.Time, uploader *internal.Uploader) error + type WalPart struct + func LoadWalPart(reader io.Reader) (*WalPart, error) + func NewWalPart(dataType WalPartDataType, id uint8, data []byte) *WalPart + func (part *WalPart) Save(writer io.Writer) error + type WalPartDataType uint8 + const PreviousWalHeadType + const WalHeadType + const WalTailType + type WalPartFile struct + PreviousWalHead []byte + WalHeads [][]byte + WalTails [][]byte + func LoadPartFile(reader io.Reader) (*WalPartFile, error) + func NewWalPartFile() *WalPartFile + func (partFile *WalPartFile) CombineRecords() ([]walparser.XLogRecord, error) + func (partFile *WalPartFile) IsComplete() bool + func (partFile *WalPartFile) Save(writer io.Writer) error + type WalPartRecorder struct + func NewWalPartRecorder(walFilename string, manager *DeltaFileManager) (*WalPartRecorder, error) + func (recorder *WalPartRecorder) SaveNextWalHead(head []byte) error + func (recorder *WalPartRecorder) SavePreviousWalTail(tailData []byte) error + type WalSegment struct + StartLSN pglogrepl.LSN + TimeLine uint32 + func NewWalSegment(timeline uint32, location pglogrepl.LSN, walSegmentBytes uint64) *WalSegment + func (seg *WalSegment) Name() string + func (seg *WalSegment) NextWalSegment() (*WalSegment, error) + func (seg *WalSegment) Read(p []byte) (n int, err error) + func (seg *WalSegment) Stream(conn *pgconn.PgConn, standbyMessageTimeout time.Duration) (ProcessMessageResult, error) + type WalSegmentDescription struct + Number WalSegmentNo + Timeline uint32 + func NewWalSegmentDescription(name string) (WalSegmentDescription, error) + func QueryCurrentWalSegment() WalSegmentDescription + func (desc WalSegmentDescription) GetFileName() string + type WalSegmentNo uint64 + type WalSegmentNotFoundError struct + func (err WalSegmentNotFoundError) Error() string + type WalSegmentRunner struct + func NewWalSegmentRunner(startWalSegment WalSegmentDescription, segments map[WalSegmentDescription]bool, ...) *WalSegmentRunner + func (r *WalSegmentRunner) Current() WalSegmentDescription + func (r *WalSegmentRunner) ForceMoveNext() + func (r *WalSegmentRunner) Next() (WalSegmentDescription, error) + type WalSegmentScanner struct + ScannedSegments []ScannedSegmentDescription + func NewWalSegmentScanner(walSegmentRunner *WalSegmentRunner) *WalSegmentScanner + func (sc *WalSegmentScanner) AddScannedSegment(description WalSegmentDescription, status ScannedSegmentStatus) + func (sc *WalSegmentScanner) GetMissingSegmentsDescriptions() []WalSegmentDescription + func (sc *WalSegmentScanner) Scan(config SegmentScanConfig) error + type WalSegmentsSequence struct + func NewSegmentsSequence(id uint32, segmentNo WalSegmentNo) *WalSegmentsSequence + func (seq *WalSegmentsSequence) AddWalSegmentNo(number WalSegmentNo) + func (seq *WalSegmentsSequence) FindMissingSegments() ([]WalSegmentDescription, error) + type WalShowJSONOutputWriter struct + func (writer *WalShowJSONOutputWriter) Write(timelineInfos []*TimelineInfo) error + type WalShowOutputType int + const JSONOutput + const TableOutput + type WalShowOutputWriter interface + Write func(timelineInfos []*TimelineInfo) error + func NewWalShowOutputWriter(outputType WalShowOutputType, output io.Writer, includeBackups bool) WalShowOutputWriter + type WalShowTableOutputWriter struct + func (writer *WalShowTableOutputWriter) Write(timelineInfos []*TimelineInfo) error + type WalUploader struct + func ConfigureWalUploader() (uploader *WalUploader, err error) + func ConfigureWalUploaderWithoutCompressMethod() (uploader *WalUploader, err error) + func NewWalUploader(compressor compression.Compressor, uploadingLocation storage.Folder, ...) *WalUploader + func (walUploader *WalUploader) FlushFiles() + func (walUploader *WalUploader) UploadWalFile(file ioextensions.NamedReader) error + type WalVerifyCheckDetails interface + NewPlainTextReader func() (io.Reader, error) + type WalVerifyCheckResult struct + Details WalVerifyCheckDetails + Status WalVerifyCheckStatus + type WalVerifyCheckRunner interface + Run func() (WalVerifyCheckResult, error) + Type func() WalVerifyCheckType + func BuildWalVerifyCheckRunner(checkType WalVerifyCheckType, rootFolder storage.Folder, ...) (WalVerifyCheckRunner, error) + type WalVerifyCheckStatus int + const StatusFailure + const StatusOk + const StatusWarning + func (status WalVerifyCheckStatus) MarshalText() ([]byte, error) + func (status WalVerifyCheckStatus) String() string + type WalVerifyCheckType int + func (checkType WalVerifyCheckType) MarshalText() (text []byte, err error) + func (checkType WalVerifyCheckType) String() string + type WalVerifyJSONOutputWriter struct + func (writer *WalVerifyJSONOutputWriter) Write(results map[WalVerifyCheckType]WalVerifyCheckResult) error + type WalVerifyOutputType int + const WalVerifyJSONOutput + const WalVerifyTableOutput + type WalVerifyOutputWriter interface + Write func(results map[WalVerifyCheckType]WalVerifyCheckResult) error + func NewWalVerifyOutputWriter(outputType WalVerifyOutputType, output io.Writer) WalVerifyOutputWriter + type WalVerifyTableOutputWriter struct + func (writer *WalVerifyTableOutputWriter) Write(result map[WalVerifyCheckType]WalVerifyCheckResult) error