2016-08-24 18:39:27 +02:00
|
|
|
####################################################################################################################################
|
|
|
|
# ARCHIVE COMMON MODULE
|
|
|
|
####################################################################################################################################
|
2017-06-21 14:02:21 +02:00
|
|
|
package pgBackRest::Archive::Common;
|
2016-08-24 18:39:27 +02:00
|
|
|
|
|
|
|
use strict;
|
|
|
|
use warnings FATAL => qw(all);
|
|
|
|
use Carp qw(confess);
|
|
|
|
|
2017-11-16 23:53:49 +02:00
|
|
|
use Config;
|
2016-08-24 18:39:27 +02:00
|
|
|
use Exporter qw(import);
|
|
|
|
our @EXPORT = qw();
|
2017-06-09 23:51:41 +02:00
|
|
|
use Fcntl qw(SEEK_CUR O_RDONLY);
|
2017-01-11 02:59:32 +02:00
|
|
|
use File::Basename qw(dirname);
|
2016-08-24 18:39:27 +02:00
|
|
|
|
|
|
|
use pgBackRest::DbVersion;
|
2017-01-05 01:39:50 +02:00
|
|
|
use pgBackRest::Common::Exception;
|
2016-08-24 18:39:27 +02:00
|
|
|
use pgBackRest::Common::Log;
|
2017-01-11 02:59:32 +02:00
|
|
|
use pgBackRest::Common::Wait;
|
2017-01-05 01:39:50 +02:00
|
|
|
use pgBackRest::Config::Config;
|
2017-06-09 23:51:41 +02:00
|
|
|
use pgBackRest::Protocol::Storage::Helper;
|
|
|
|
use pgBackRest::Storage::Helper;
|
2016-12-03 17:28:08 +02:00
|
|
|
|
|
|
|
####################################################################################################################################
|
|
|
|
# RegEx constants
|
|
|
|
####################################################################################################################################
|
2017-12-19 01:51:19 +02:00
|
|
|
use constant REGEX_ARCHIVE_DIR_DB_VERSION => '^[0-9]+(\.[0-9]+)*-[0-9]+$';
|
2016-12-03 17:28:08 +02:00
|
|
|
push @EXPORT, qw(REGEX_ARCHIVE_DIR_DB_VERSION);
|
|
|
|
use constant REGEX_ARCHIVE_DIR_WAL => '^[0-F]{16}$';
|
|
|
|
push @EXPORT, qw(REGEX_ARCHIVE_DIR_WAL);
|
|
|
|
|
|
|
|
####################################################################################################################################
|
|
|
|
# PostgreSQL WAL system id offset
|
|
|
|
####################################################################################################################################
|
2017-11-16 23:53:49 +02:00
|
|
|
use constant PG_WAL_SYSTEM_ID_OFFSET_GTE_93 => 12 + $Config{ptrsize};
|
2016-12-03 17:28:08 +02:00
|
|
|
push @EXPORT, qw(PG_WAL_SYSTEM_ID_OFFSET_GTE_93);
|
|
|
|
use constant PG_WAL_SYSTEM_ID_OFFSET_LT_93 => 12;
|
|
|
|
push @EXPORT, qw(PG_WAL_SYSTEM_ID_OFFSET_LT_93);
|
|
|
|
|
2017-06-09 23:51:41 +02:00
|
|
|
####################################################################################################################################
|
|
|
|
# WAL segment size
|
|
|
|
####################################################################################################################################
|
|
|
|
use constant PG_WAL_SEGMENT_SIZE => 16777216;
|
|
|
|
push @EXPORT, qw(PG_WAL_SEGMENT_SIZE);
|
|
|
|
|
2016-08-24 18:39:27 +02:00
|
|
|
1;
|