Thread
-
General Bug Report: pg_dump sets quotes wrong when dumping groups-acls.
Unprivileged user <nobody> — 1999-05-03T11:18:13Z
============================================================================ POSTGRESQL BUG REPORT TEMPLATE ============================================================================ Your name : Bernhard Weisshuhn Your email address : bkw@weisshuhn.de Category : runtime: front-end Severity : serious Summary: pg_dump sets quotes wrong when dumping groups-acls. System Configuration -------------------- Operating System : Linux 2.0.36 ELF PostgreSQL version : 6.4.2 Compiler used : gcc 2.7.2.3 Hardware: --------- Redhat 5.2, custom-built postgresql (no RPM) Versions of other tools: ------------------------ n/a -------------------------------------------------------------------------- Problem Description: -------------------- When executing % pg_dump -z somedatabase and a database contains acl-permissions like => "GRANT ALL on sometable to group somegroup" pg_dump incorrectly generates the line: GRANT ALL on "sometable" to "group somegroup"; instead of GRANT ALL on "sometable" to group "bosses"; The incorrect output generates errors when restoring databases from the dump and fails to set the correct permissions. -------------------------------------------------------------------------- Test Case: ---------- createdb grouptestdb; psql grouptestdb -c "insert into pg_group (groname,grosysid,grolist) VALUES ('testgroup',1000,'{500}');" psql grouptestdb -c "create table dummy (foobar int4);" psql grouptestdb -c "grant ALL on dummy to group testgroup;" pg_dump -z -s -t dummy grouptestdb -------------------------------------------------------------------------- Solution: --------- Obviously, pg_dump does not seem to know about groups at all, so it treats "group testgroup" as a user. Sorry, this one is too hard for me to fix the right way, maybe we could just check, if the userstring begins with 'group ' and alter the quotes accordingly, but this does not look like a clean solution to me. --------------------------------------------------------------------------