Documentation ¶
Overview ¶
Package archiver manages the WAL archiving process
Index ¶
- Constants
- type WALArchiver
- func (archiver *WALArchiver) Archive(walName string, baseOptions []string) error
- func (archiver *WALArchiver) ArchiveList(ctx context.Context, walNames []string, options []string) (result []WALArchiverResult)
- func (archiver *WALArchiver) BarmanCloudCheckWalArchiveOptions(cluster *apiv1.Cluster, clusterName string) ([]string, error)
- func (archiver *WALArchiver) CheckWalArchiveDestination(ctx context.Context, options []string) error
- func (archiver *WALArchiver) DeleteFromSpool(walName string) (hasBeenDeleted bool, err error)
- func (archiver *WALArchiver) IsCheckWalArchiveFlagFilePresent(ctx context.Context, pgDataDirectory string) bool
- type WALArchiverResult
Constants ¶
const ( // CheckEmptyWalArchiveFile is the name of the file in the PGDATA that, // if present, requires the WAL archiver to check that the backup object // store is empty. CheckEmptyWalArchiveFile = ".check-empty-wal-archive" )
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, pgDataDirectory 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) IsCheckWalArchiveFlagFilePresent ¶ added in v1.15.5
func (archiver *WALArchiver) IsCheckWalArchiveFlagFilePresent(ctx context.Context, pgDataDirectory string) bool
IsCheckWalArchiveFlagFilePresent returns true if the file CheckEmptyWalArchiveFile is present in the PGDATA directory
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