summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristoph Berg2016-06-08 08:23:27 +0000
committerChristoph Berg2016-06-08 08:24:51 +0000
commit735515a682a6ece76054ba5ceb8b25d0a55ff312 (patch)
treee6b99fce02b979e94987a26faf212cd4585e5174
parenta3cf9dacf3b5bc5db7410f7f43325780b20cd5ea (diff)
hot_standby_delay: Check server version instead of psql version for features
In passing, make check_postgres.pl executable Close #74.
-rwxr-xr-x[-rw-r--r--]check_postgres.pl14
1 files changed, 8 insertions, 6 deletions
diff --git a/check_postgres.pl b/check_postgres.pl
index 222f9a5ac..2fa13d224 100644..100755
--- a/check_postgres.pl
+++ b/check_postgres.pl
@@ -3020,7 +3020,7 @@ sub verify_version {
}
$db->{slurp} = $oldslurp;
- return;
+ return $sver;
} ## end of verify_version
@@ -5049,8 +5049,10 @@ sub check_hot_standby_delay {
## --warning=5min
## --warning='1048576 and 2min' --critical='16777216 and 10min'
+ my $version = verify_version();
+
my ($warning, $wtime, $critical, $ctime) = validate_integer_for_time({default_to_int => 1});
- if ($psql_version < 9.1 and (length $wtime or length $ctime)) { # FIXME: check server version instead
+ if ($version < 9.1 and (length $wtime or length $ctime)) {
add_unknown msg('hs-time-version');
return;
}
@@ -5090,7 +5092,7 @@ sub check_hot_standby_delay {
## On slave
$SQL = q{SELECT pg_last_xlog_receive_location() AS receive, pg_last_xlog_replay_location() AS replay};
- if ($psql_version >= 9.1) {
+ if ($version >= 9.1) {
$SQL .= q{, COALESCE(ROUND(EXTRACT(epoch FROM now() - pg_last_xact_replay_timestamp())),0) AS seconds};
}
my $info = run_command($SQL, { dbnumber => $slave, regex => qr/\// });
@@ -5149,7 +5151,7 @@ sub check_hot_standby_delay {
return;
}
- $MRTG and do_mrtg($psql_version >= 9.1 ?
+ $MRTG and do_mrtg($version >= 9.1 ?
{one => $rep_delta, two => $rec_delta, three => $time_delta} :
{one => $rep_delta, two => $rec_delta});
@@ -5161,14 +5163,14 @@ sub check_hot_standby_delay {
$db->{perf} .= sprintf ' %s=%s;%s;%s',
perfname(msg('hs-receive-delay')), $rec_delta, $warning, $critical;
}
- if ($psql_version >= 9.1) {
+ if ($version >= 9.1) {
$db->{perf} .= sprintf ' %s=%s;%s;%s',
perfname(msg('hs-time-delay')), $time_delta, $wtime, $ctime;
}
## Do the check on replay delay in case SR has disconnected because it way too far behind
my $msg = qq{$rep_delta};
- if ($psql_version >= 9.1) {
+ if ($version >= 9.1) {
$msg .= qq{ and $time_delta seconds}
}
if ((length $critical or length $ctime) and (!length $critical or length $critical and $rep_delta > $critical) and (!length $ctime or length $ctime and $time_delta > $ctime)) {