Thread

  1. Re: [BUGS] General Bug Report: pg_dump sets quotes wrong when dumping groups-acls.

    Bruce Momjian <maillist@candle.pha.pa.us> — 1999-05-10T16:59:11Z

    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