Обсуждение: pg_dump recording privileges on foreign data wrappers

Поиск
Список
Период
Сортировка

pg_dump recording privileges on foreign data wrappers

От
Adam Mackler
Дата:
If I grant a privilege on a foreign data wrapper like this:

    GRANT USAGE ON FOREIGN DATA WRAPPER postgres_fdw TO myuser;

from within psql, then a dump of the database produced using pg_dump
seems to lack an equivalent GRANT statement, even though it contains
the CREATE EXTENSION statement for that foreign data wrapper.

Am I usderstanding correctly that when I feed that output of pg_dump
back into psql it will result in a database that has the foreign data
wrapper but without the priviliges that were set in the database that
was dumped?  Is that really what is supposed to happen?  Is there a
way to get pg_dump to output the necessary statements such that
running the dump back through psql results in the same priviliges that
I started with?

I am using version 9.5.6.

Thanks very much,
--
Adam Mackler


Re: pg_dump recording privileges on foreign data wrappers

От
Tom Lane
Дата:
Adam Mackler <pgsql-general@mackler.org> writes:
> If I grant a privilege on a foreign data wrapper like this:
>     GRANT USAGE ON FOREIGN DATA WRAPPER postgres_fdw TO myuser;

> from within psql, then a dump of the database produced using pg_dump
> seems to lack an equivalent GRANT statement, even though it contains
> the CREATE EXTENSION statement for that foreign data wrapper.

Yeah, it was only in 9.6 that we grew any infrastructure that would
allow handling this properly.  Before that, there was no way to track
which GRANTs on an extension object were part of the extension's
initial script and which had been issued later --- so pg_dump just
assumed they were all of the former kind and didn't dump anything
for extension member objects.

> I am using version 9.5.6.

9.6.x will make this better for you.

            regards, tom lane