[BUGS] BUG #14761: pg_dumpall --version is misleading (from jessie-pgdgpostgresql-client-common)

Поиск
Список
Период
Сортировка
От vindrg@gmail.com
Тема [BUGS] BUG #14761: pg_dumpall --version is misleading (from jessie-pgdgpostgresql-client-common)
Дата
Msg-id 20170725132333.1464.39535@wrigleys.postgresql.org
обсуждение исходный текст
Ответы Re: [BUGS] BUG #14761: pg_dumpall --version is misleading (from jessie-pgdg postgresql-client-common)  (Tom Lane <tgl@sss.pgh.pa.us>)
Список pgsql-bugs
The following bug has been logged on the website:

Bug reference:      14761
Logged by:          Vincas Dargis
Email address:      vindrg@gmail.com
PostgreSQL version: 9.4.12
Operating system:   Debian 8 amd64
Description:

We've discovered, that pg_dumpall produced dump of roles from 9.4 cluster
are not compatible with 9.4, i.e. cannot be restored due to NOBYPASSRLS
option in SQL file.

Here's details:

# pg_dumpall --version
pg_dumpall (PostgreSQL) 9.4.12


# apt-cache policy postgresql-client-9.4
postgresql-client-9.4: Installed: 9.4.12-1.pgdg80+1 Candidate: 9.4.12-1.pgdg80+1 Version table:*** 9.4.12-1.pgdg80+1 0
    500 http://apt.postgresql.org/pub/repos/apt/ jessie-pgdg/main amd64 
Packages       100 /var/lib/dpkg/status    9.4.12-0+deb8u1 0       500 http://security.debian.org/ jessie/updates/main
amd64Packages       500 http://httpredir.debian.org/debian/ jessie/main amd64 Packages
 


Our backup script uses line similar to this to dump roles:

pg_dumpall -h 127.0.0.1 -p 5432 -U our_dumper_user -r --role="postgres" -l
our_db -v -f "/somewhere..."

Its produced SQL file contains lines like this:

ALTER ROLE <some_user> WITH NOSUPERUSER INHERIT NOCREATEROLE NOCREATEDB
LOGIN NOREPLICATION NOBYPASSRLS PASSWORD '<some_password>';

Note NOBYPASSRLS that is available since 9.5. pg_dumpall reported 9.4.12
version, and dumped cluster itself in of 9.4.

It seems that it is actually dumped by 9.5 pg_dumpall available in another
packaged, installed to test 9.5 some time ago:

# dpkg -S pg_dumpall 
postgresql-client-9.5: /usr/lib/postgresql/9.5/bin/pg_dumpall
postgresql-client-9.4: /usr/lib/postgresql/9.4/bin/pg_dumpall
postgresql-client-common: /usr/bin/pg_dumpall

So pg_dumpall --version is misleading. It actually produced dump as latest
version installed.

Dump is OK if I use 9.4 explicitly:
/usr/lib/postgresql/9.4/bin/pg_dumpall -h ...

As a side-question, how could I protect from these errors in future? I do
not see pg_dumpall having option to check for client/server version exact
match, or something like that...


--
Sent via pgsql-bugs mailing list (pgsql-bugs@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-bugs

В списке pgsql-bugs по дате отправления:

Предыдущее
От: nikhil.varangaonkar@bhge.com
Дата:
Сообщение: [BUGS] BUG #14760: Installation Failed/Interrupted
Следующее
От: Tom Lane
Дата:
Сообщение: Re: [BUGS] BUG #14761: pg_dumpall --version is misleading (from jessie-pgdg postgresql-client-common)