archiver

package
v1.16.2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 6, 2022 License: Apache-2.0 Imports: 13 Imported by: 0

Documentation

Overview

Package archiver manages the WAL archiving process

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type WALArchiver

type WALArchiver struct {
	// contains filtered or unexported fields
}

WALArchiver is a structure containing every info need to archive a set of WAL files using barman-cloud-wal-archive

func New

func New(
	ctx context.Context,
	cluster *apiv1.Cluster,
	env []string,
	spoolDirectory string,
) (archiver *WALArchiver, err error)

New creates a new WAL archiver

func (*WALArchiver) Archive

func (archiver *WALArchiver) Archive(walName string, baseOptions []string) error

Archive archives a certain WAL file using barman-cloud-wal-archive. See archiveWALFileList for the meaning of the parameters

func (*WALArchiver) ArchiveList

func (archiver *WALArchiver) ArchiveList(
	ctx context.Context,
	walNames []string,
	options []string,
) (result []WALArchiverResult)

ArchiveList archives a list of WAL files in parallel

func (*WALArchiver) BarmanCloudCheckWalArchiveOptions added in v1.15.1

func (archiver *WALArchiver) BarmanCloudCheckWalArchiveOptions(
	cluster *apiv1.Cluster,
	clusterName string,
) ([]string, error)

BarmanCloudCheckWalArchiveOptions create the options needed for the `barman-cloud-check-wal-archive` command.

func (*WALArchiver) CheckWalArchiveDestination added in v1.15.1

func (archiver *WALArchiver) CheckWalArchiveDestination(ctx context.Context, options []string) error

CheckWalArchiveDestination checks if the destinationObjectStore is ready perform archiving. Based on this ticket in Barman https://github.com/EnterpriseDB/barman/issues/432 and its implementation https://github.com/EnterpriseDB/barman/pull/443 The idea here is to check ONLY if we're archiving the wal files for the first time in the bucket since in this case the command barman-cloud-check-wal-archive will fail if the bucket exist and contain wal files inside

func (*WALArchiver) DeleteFromSpool

func (archiver *WALArchiver) DeleteFromSpool(walName string) (hasBeenDeleted bool, err error)

DeleteFromSpool checks if a WAL file is in the spool and, if it is, remove it

func (*WALArchiver) FileListStartsAtFirstWAL added in v1.15.1

func (archiver *WALArchiver) FileListStartsAtFirstWAL(ctx context.Context, walFilesList []string) bool

FileListStartsAtFirstWAL returns true if the first file in the list is the first WAL file of the first timeline

type WALArchiverResult

type WALArchiverResult struct {
	// The WAL that have been archived
	WalName string

	// If not nil, this is the error that has been detected
	Err error

	// The time when we started barman-cloud-wal-archive
	StartTime time.Time

	// The time when end barman-cloud-wal-archive ended
	EndTime time.Time
}

WALArchiverResult contains the result of the archival of one WAL

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL