mirror of
https://github.com/pgbackrest/pgbackrest.git
synced 2024-12-14 10:13:05 +02:00
36a5349b1c
This option allows pgBackRest to validate page checksums in data files when checksums are enabled on PostgreSQL >= 9.3. Note that this functionality requires a C library which may not initially be available in OS packages. The option will automatically be enabled when the library is present and checksums are enabled on the cluster.
74 lines
3.4 KiB
Perl
74 lines
3.4 KiB
Perl
####################################################################################################################################
|
|
# DB VERSION MODULE
|
|
####################################################################################################################################
|
|
package pgBackRest::DbVersion;
|
|
|
|
use strict;
|
|
use warnings FATAL => qw(all);
|
|
use Carp qw(confess);
|
|
|
|
use Exporter qw(import);
|
|
our @EXPORT = qw();
|
|
|
|
use pgBackRest::Common::Log;
|
|
|
|
####################################################################################################################################
|
|
# Supported page size
|
|
####################################################################################################################################
|
|
use constant PG_PAGE_SIZE => 8192;
|
|
push @EXPORT, qw(PG_PAGE_SIZE);
|
|
|
|
####################################################################################################################################
|
|
# PostgreSQL version numbers
|
|
####################################################################################################################################
|
|
use constant PG_VERSION_83 => '8.3';
|
|
push @EXPORT, qw(PG_VERSION_83);
|
|
use constant PG_VERSION_84 => '8.4';
|
|
push @EXPORT, qw(PG_VERSION_84);
|
|
use constant PG_VERSION_90 => '9.0';
|
|
push @EXPORT, qw(PG_VERSION_90);
|
|
use constant PG_VERSION_91 => '9.1';
|
|
push @EXPORT, qw(PG_VERSION_91);
|
|
use constant PG_VERSION_92 => '9.2';
|
|
push @EXPORT, qw(PG_VERSION_92);
|
|
use constant PG_VERSION_93 => '9.3';
|
|
push @EXPORT, qw(PG_VERSION_93);
|
|
use constant PG_VERSION_94 => '9.4';
|
|
push @EXPORT, qw(PG_VERSION_94);
|
|
use constant PG_VERSION_95 => '9.5';
|
|
push @EXPORT, qw(PG_VERSION_95);
|
|
use constant PG_VERSION_96 => '9.6';
|
|
push @EXPORT, qw(PG_VERSION_96);
|
|
|
|
use constant PG_VERSION_APPLICATION_NAME => PG_VERSION_90;
|
|
push @EXPORT, qw(PG_VERSION_APPLICATION_NAME);
|
|
use constant PG_VERSION_HOT_STANDBY => PG_VERSION_91;
|
|
push @EXPORT, qw(PG_VERSION_HOT_STANDBY);
|
|
use constant PG_VERSION_BACKUP_STANDBY => PG_VERSION_92;
|
|
push @EXPORT, qw(PG_VERSION_BACKUP_STANDBY);
|
|
|
|
####################################################################################################################################
|
|
# versionSupport
|
|
#
|
|
# Returns an array of the supported Postgres versions.
|
|
####################################################################################################################################
|
|
sub versionSupport
|
|
{
|
|
# Assign function parameters, defaults, and log debug info
|
|
my ($strOperation) = logDebugParam(__PACKAGE__ . '->versionSupport');
|
|
|
|
my @strySupportVersion = (PG_VERSION_83, PG_VERSION_84, PG_VERSION_90, PG_VERSION_91, PG_VERSION_92, PG_VERSION_93,
|
|
PG_VERSION_94, PG_VERSION_95, PG_VERSION_96);
|
|
|
|
# Return from function and log return values if any
|
|
return logDebugReturn
|
|
(
|
|
$strOperation,
|
|
{name => 'strySupportVersion', value => \@strySupportVersion}
|
|
);
|
|
}
|
|
|
|
push @EXPORT, qw(versionSupport);
|
|
|
|
1;
|