pg_dump is broken by recent privileges changes

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Peter Eisentraut <peter_e(at)gmx(dot)net>
Cc: pgsql-hackers(at)postgreSQL(dot)org
Subject: pg_dump is broken by recent privileges changes
Date: 2003-02-01 16:28:03
Message-ID: 7365.1044116883@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

In CVS tip, create an empty database. pg_dump it. Try to restore the
dump. The first thing it does is

REVOKE ALL ON SCHEMA public FROM PUBLIC;

which fails with

ERROR: dependent privileges exist (use CASCADE to revoke them too)

This message seems incorrect --- what is a dependent privilege, and
why would PUBLIC have any? All I see in pg_namespace is

public | 1 | {=UC/postgres}

Also, pg_dump itself seems confused --- the full text of a dump from
an empty DB is (omitting comment lines)

\connect - postgres
REVOKE ALL ON SCHEMA public FROM PUBLIC;
GRANT ALL ON SCHEMA public TO PUBLIC;
GRANT ALL ON SCHEMA public TO PUBLIC;
REVOKE ALL ON SCHEMA public FROM postgres;

which is not only inefficient but wrong, since public surely should
have privileges when the dust settles.

regards, tom lane

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Kevin Brown 2003-02-01 16:31:04 Re: On file locking
Previous Message Kevin Brown 2003-02-01 16:15:17 Re: sync()