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
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() |