Tom Lane wrote:
>
> Fernando Nasser <fnasser@redhat.com> writes:
> > Tom Lane wrote:
> >> I've been vacillating about whether to choose another name for the
> >> public namespace to avoid the need for quotes here. I can't think
> >> of another good name :-(
>
> > For the special schemas, we have pg_catalog, (pg_temp, pg_toast ?),
> > so pg_public could do the trick.
>
> Actually that was my initial choice of name, but I changed my mind
> later. The reason is that the dbadmin should be able to restrict or
> even delete the public namespace if his usage plans for the database
> don't allow any shared objects.
Can't we prevent creation in there by (un)setting permissions?
> If we call it pg_public then the system
> will think it is a reserved namespace, and we'd have to put in a special
> case to allow it to be deleted (not to mention recreated again, should
> the DBA change his mind later).
If we can disallow creation with permissions, then we could always keep
it.
There should be a more practical way of making it empty than having to
drop
each object individually (DROP will drop the contents but refuse to
delete
the schema itself as it is a pg_ one?).
--
Fernando Nasser
Red Hat Canada Ltd. E-Mail: fnasser@redhat.com
2323 Yonge Street, Suite #300
Toronto, Ontario M4P 2C9