summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/bin/pg_basebackup/receivelog.c16
1 files changed, 13 insertions, 3 deletions
diff --git a/src/bin/pg_basebackup/receivelog.c b/src/bin/pg_basebackup/receivelog.c
index 33d2911a0e0..ca5c7f55bdf 100644
--- a/src/bin/pg_basebackup/receivelog.c
+++ b/src/bin/pg_basebackup/receivelog.c
@@ -367,14 +367,24 @@ CheckServerVersionForStreaming(PGconn *conn)
minServerMajor = 903;
maxServerMajor = PG_VERSION_NUM / 100;
serverMajor = PQserverVersion(conn) / 100;
- if (serverMajor < minServerMajor || serverMajor > maxServerMajor)
+ if (serverMajor < minServerMajor)
{
const char *serverver = PQparameterStatus(conn, "server_version");
- fprintf(stderr, _("%s: incompatible server version %s; streaming is only supported with server version %s\n"),
+ fprintf(stderr, _("%s: incompatible server version %s; client does not support streaming from server versions older than %s\n"),
progname,
serverver ? serverver : "'unknown'",
- "9.3 or 9.4");
+ "9.3");
+ return false;
+ }
+ else if (serverMajor > maxServerMajor)
+ {
+ const char *serverver = PQparameterStatus(conn, "server_version");
+
+ fprintf(stderr, _("%s: incompatible server version %s; client does not support streaming from server versions newer than %s\n"),
+ progname,
+ serverver ? serverver : "'unknown'",
+ PG_VERSION);
return false;
}
return true;