General Bug Report: pg_dump sets quotes wrong when dumping groups-acls.

Started by Unprivileged user <>almost 27 years ago2 messagesbugs
Jump to latest
#1Unprivileged user <>
unprivileged_user___@unknown.user

============================================================================
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.

--------------------------------------------------------------------------

#2Bruce Momjian
bruce@momjian.us
In reply to: Unprivileged user <> (#1)
Re: [BUGS] General Bug Report: pg_dump sets quotes wrong when dumping groups-acls.

This sounds like a nice thing to fix.

============================================================================
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.

--------------------------------------------------------------------------

-- 
  Bruce Momjian                        |  http://www.op.net/~candle
  maillist@candle.pha.pa.us            |  (610) 853-3000
  +  If your life is a hard drive,     |  830 Blythe Avenue
  +  Christ can be your backup.        |  Drexel Hill, Pennsylvania 19026