L.S.
I noticed the following and wondered whether this is intentional or an
oversight in pg_dump's '-c' option?
The clean option causes the public schema to be dropped and recreated, but
this is done with the default schema priviliges, which are not the same as the
ones assigned during create database:
*** USING PSQL
postgres=# create database publictest;
postgres=# \c publictest;
publictest=# \dn+
List of schemas
Name | Owner | Access privileges | Description
--------+----------+----------------------+------------------------
public | postgres | postgres=UC/postgres+| standard public schema
| | =UC/postgres |
(1 row)
*** USING SHELL
host:~ # pg_dump -c -f /tmp/publictest -h localhost -Fp -U postgres publictest
*** USING PSQL
publictest=# \i /tmp/publictest
publictest=# \dn+
List of schemas
Name | Owner | Access privileges | Description
--------+----------+-------------------+------------------------
public | postgres | | standard public schema
(1 row)
publictest=# grant usage on schema public to public;
GRANT
publictest=# grant create on schema public to public;
GRANT
testje=# \dn+
List of schemas
Name | Owner | Access privileges | Description
--------+----------+----------------------+------------------------
public | postgres | postgres=UC/postgres+| standard public schema
| | =UC/postgres |
(1 row)
--
Best,
Frank.