Add a server version check to pg_basebackup and pg_receivexlog.
authorHeikki Linnakangas <heikki.linnakangas@iki.fi>
Mon, 25 Mar 2013 09:03:20 +0000 (11:03 +0200)
committerHeikki Linnakangas <heikki.linnakangas@iki.fi>
Mon, 25 Mar 2013 09:03:20 +0000 (11:03 +0200)
commitaa5d7d58ba40187bd8c6a2216bfd24514da78003
tree7e77b2d7d9d13a5d7565ff1ffa9c3f1caae448b6
parentf1bd8a82d7bc127d752e22689ebed9632555cc28
Add a server version check to pg_basebackup and pg_receivexlog.

These programs don't work against 9.0 or earlier servers, so check that when
the connection is made. That's better than a cryptic error message you got
before.

Also, these programs won't work with a 9.3 server, because the WAL streaming
protocol was changed in a non-backwards-compatible way. As a general rule,
we don't make any guarantee that an old client will work with a new server,
so check that. However, allow a 9.1 client to connect to a 9.2 server, to
avoid breaking environments that currently work; a 9.1 client happens to
work with a 9.2 server, even though we didn't make any great effort to
ensure that.

This patch is for the 9.1 and 9.2 branches, I'll commit a similar patch to
master later. Although this isn't a critical bug fix, it seems safe enough
to back-patch. The error message you got when connecting to a 9.3devel
server without this patch was cryptic enough to warrant backpatching.
src/bin/pg_basebackup/pg_basebackup.c