Documentation
¶
Overview ¶
Package archiver manages the WAL archiving process
Package archiver contain the code relative to the barman-cloud-wal-archive command
Index ¶
- type WALArchiver
- func (archiver *WALArchiver) ArchiveList(ctx context.Context, walNames []string, options []string) (result []WALArchiverResult)
- func (archiver *WALArchiver) BarmanCloudCheckWalArchiveOptions(ctx context.Context, configuration *api.BarmanObjectStoreConfiguration, ...) ([]string, error)
- func (archiver *WALArchiver) BarmanCloudWalArchiveOptions(ctx context.Context, configuration *barmanApi.BarmanObjectStoreConfiguration, ...) ([]string, error)
- func (archiver *WALArchiver) CheckWalArchiveDestination(ctx context.Context, options []string) error
- func (archiver *WALArchiver) DeleteFromSpool(walName string) (hasBeenDeleted bool, err error)
- type WALArchiverResult
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, env []string, spoolDirectory string, pgDataDirectory string, emptyWalArchivePath string, ) (archiver *WALArchiver, err error)
New creates a new WAL archiver
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 ¶
func (archiver *WALArchiver) BarmanCloudCheckWalArchiveOptions( ctx context.Context, configuration *api.BarmanObjectStoreConfiguration, clusterName string, ) ([]string, error)
BarmanCloudCheckWalArchiveOptions create the options needed for the `barman-cloud-check-wal-archive` command.
func (*WALArchiver) BarmanCloudWalArchiveOptions ¶
func (archiver *WALArchiver) BarmanCloudWalArchiveOptions( ctx context.Context, configuration *barmanApi.BarmanObjectStoreConfiguration, clusterName string, ) ([]string, error)
BarmanCloudWalArchiveOptions calculates the set of options to be used with barman-cloud-wal-archive
func (*WALArchiver) CheckWalArchiveDestination ¶
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
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