BUG #15686: pg_dump: server version: 11.2; pg_dump version: 11.2

Started by PG Bug reporting formabout 7 years ago3 messagesbugs
Jump to latest
#1PG Bug reporting form
noreply@postgresql.org

The following bug has been logged on the website:

Bug reference: 15686
Logged by: Andrew Davis
Email address: developerandy@gmail.com
PostgreSQL version: 11.2
Operating system: RHEL 6.10
Description:

I recently installed PostgreSQL 11.2 (we were formerly using 9.5.3) and ran
our tests. One of our tests performs a `pg_dump` and I receive the following
error:

2019-03-08 16:43:54.417 [ 123 ] [INFO ] Starting database (dir) dump with:
/path/to/postgresql/bin/pg_dump --file /path/to/file database_name
2019-03-08 16:43:54.429 [ 123 ] [ERROR] pg_dump: server version: 11.2;
pg_dump version: 11.2
2019-03-08 16:43:54.429 [ 123 ] [ERROR] pg_dump: aborting because of server
version mismatch

The server and pg_dump versions are the same and I'm not sure how to
proceed. Is there something in the schema generated from Rails that may be
causing this?

Thank you for your time.
Andy

#2Tom Lane
tgl@sss.pgh.pa.us
In reply to: PG Bug reporting form (#1)
Re: BUG #15686: pg_dump: server version: 11.2; pg_dump version: 11.2

PG Bug reporting form <noreply@postgresql.org> writes:

I recently installed PostgreSQL 11.2 (we were formerly using 9.5.3) and ran
our tests. One of our tests performs a `pg_dump` and I receive the following
error:

2019-03-08 16:43:54.417 [ 123 ] [INFO ] Starting database (dir) dump with:
/path/to/postgresql/bin/pg_dump --file /path/to/file database_name
2019-03-08 16:43:54.429 [ 123 ] [ERROR] pg_dump: server version: 11.2;
pg_dump version: 11.2
2019-03-08 16:43:54.429 [ 123 ] [ERROR] pg_dump: aborting because of server
version mismatch

That's pretty bizarre-looking, isn't it. Looking at the code, I suspect
that the problem is that your pg_dump is linking to an old version of
libpq.so. Although what pg_dump is printing for "server version" is
the string received from the server, the actual version comparison is
done numerically and it depends on how libpq's PQserverVersion() function
parsed the string. In the 9.5 branch, the earliest version that would
have done the right thing for new-style two-part server version numbers
was 9.5.4.

Hence, you need to make sure your old libpq library gets replaced by
the new installation, or that your loader search path finds wherever
you've decided to put the new library.

regards, tom lane

#3Andy Davis
developerandy@gmail.com
In reply to: Tom Lane (#2)
Re: BUG #15686: pg_dump: server version: 11.2; pg_dump version: 11.2

Thanks, Tom!

I found out what was going on but wasn't sure how to update my bug-report.

I still had some 9.5.3 items in my PATH, LD_LIBRARY_PATH, and LIBRARY_PATH.
Even though I was using the proper version of pg_dump and the database, it
must have picked up on some of those.

Thank you so much for investigating!

Andy

On Mon, Mar 11, 2019 at 11:41 AM Tom Lane <tgl@sss.pgh.pa.us> wrote:

Show quoted text

PG Bug reporting form <noreply@postgresql.org> writes:

I recently installed PostgreSQL 11.2 (we were formerly using 9.5.3) and

ran

our tests. One of our tests performs a `pg_dump` and I receive the

following

error:

2019-03-08 16:43:54.417 [ 123 ] [INFO ] Starting database (dir) dump

with:

/path/to/postgresql/bin/pg_dump --file /path/to/file database_name
2019-03-08 16:43:54.429 [ 123 ] [ERROR] pg_dump: server version: 11.2;
pg_dump version: 11.2
2019-03-08 16:43:54.429 [ 123 ] [ERROR] pg_dump: aborting because of

server

version mismatch

That's pretty bizarre-looking, isn't it. Looking at the code, I suspect
that the problem is that your pg_dump is linking to an old version of
libpq.so. Although what pg_dump is printing for "server version" is
the string received from the server, the actual version comparison is
done numerically and it depends on how libpq's PQserverVersion() function
parsed the string. In the 9.5 branch, the earliest version that would
have done the right thing for new-style two-part server version numbers
was 9.5.4.

Hence, you need to make sure your old libpq library gets replaced by
the new installation, or that your loader search path finds wherever
you've decided to put the new library.

regards, tom lane