mirror of
https://github.com/pgbackrest/pgbackrest.git
synced 2024-12-14 10:13:05 +02:00
286f7e5011
This calculation was missed when the WAL segment size was made dynamic in preparation for PostgreSQL 11. Fix the calculation by checking the actual WAL file sizes instead of using an estimate based on WAL segment size. This is more accurate because it takes into account .history and .backup files, which are smaller. Since the calculation is done in the async process the additional processing time should not adversely affect performance. Remove the PG_WAL_SIZE constant and instead use local constants where the old value is still required. This is only the case for some tests and PostgreSQL 8.3 which does not provide a way to get the WAL segment size from pg_control.
78 lines
3.7 KiB
Perl
78 lines
3.7 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_10 => '10';
|
|
push @EXPORT, qw(PG_VERSION_10);
|
|
use constant PG_VERSION_11 => '11';
|
|
push @EXPORT, qw(PG_VERSION_11);
|
|
|
|
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, PG_VERSION_10, PG_VERSION_11);
|
|
|
|
# Return from function and log return values if any
|
|
return logDebugReturn
|
|
(
|
|
$strOperation,
|
|
{name => 'strySupportVersion', value => \@strySupportVersion}
|
|
);
|
|
}
|
|
|
|
push @EXPORT, qw(versionSupport);
|
|
|
|
1;
|