Rationale for PUBLIC having CREATE and USAGE privileges on the schema "public" by default

From: Olegs Jeremejevs <olegs(at)jeremejevs(dot)com>
To: pgsql-general(at)postgresql(dot)org
Subject: Rationale for PUBLIC having CREATE and USAGE privileges on the schema "public" by default
Date: 2018-02-16 23:50:48
Message-ID: CAOpVyVv1U_uwU2wY4VWMuqOuGvtLjpf9OHoRXC-SoQom6rbPPg@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

Hi,

I'm aware that these default privileges are documented:

https://www.postgresql.org/docs/10/static/ddl-schemas.html#DDL-SCHEMAS-PRIV

However, I'm unable to find any reasoning behind their existence. Normally,
one can just revoke them and move on, but they have caused me some trouble
in a managed deployment (Compose, where you can't login as the owner of the
schema or as a superuser, so it's impossible to do the revocation, so
you're essentially forced to use a non-public schema), and I would like to
understand the need for them.

I assume they make it a bit easier for new users to try out the database,
and I see that they go at least as far as 7.3, but has there been any
discussion of removing them? And if so, why was it decided to keep them?

Regards,
Olegs

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Ken Tanzer 2018-02-17 00:22:18 Re: Trigger (or something similar) on table rename?
Previous Message Thiemo Kellner 2018-02-16 23:49:56 Re: Dynamic PL/pgSQL select query: value association propblem