Обсуждение: pg_dump recording privileges on foreign data wrappers
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
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