Tom Lane writes:
> REVOKE ALL ON SCHEMA public FROM PUBLIC;
>
> which fails with
>
> ERROR: dependent privileges exist (use CASCADE to revoke them too)
Not here.
> This message seems incorrect --- what is a dependent privilege, and
> why would PUBLIC have any?
The term "dependent privilege" is explained on the REVOKE reference page.
And no, PUBLIC wouldn't ever have any.
> 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.
The second GRANT is a bug because the buffer wasn't cleared. The other
commands are correct as far as pg_dump is concerned. At the end the
privileges are exactly "=UC/postgres", which is what they are by default.
--
Peter Eisentraut peter_e@gmx.net