Re: creating objects in pg_catalog

Tom Lane <tgl@sss.pgh.pa.us>

From: Tom Lane <tgl@sss.pgh.pa.us>
To: Robert Haas <robertmhaas@gmail.com>
Cc: pgsql-hackers@postgresql.org
Date: 2012-06-06T21:21:35Z
Lists: pgsql-hackers

Commits

Same data as JSON: GET /api/v1/messages/:b64id/commits the thread's linked commits as JSON, with link sources. API reference →
  1. Checking to decide whether relations are system relations now depends

Robert Haas <robertmhaas@gmail.com> writes:
> rhaas=# create table pg_catalog.tom (a int);
> ERROR:  permission denied to create "pg_catalog.tom"

> The offending error check is in heap_create(), and based on what
> you're saying here it seems like we should just rip it out.

Hmm.  Yeah, it seems like the regular permissions tests on the schemas
in question should be enough to keep Joe User from making tables there,
and I do not see a reason why the backend would care if there are
non-catalog tables laying about in pg_catalog.

Checking the commit history, it seems this was originally a test to
prevent people from creating tables named "pg_xxx":

http://git.postgresql.org/gitweb/?p=postgresql.git;a=commitdiff;h=9999f5a10e722c052006886b678995695001958a#patch3

which may or may not have been critical once upon a time, but surely is
not any more.

So no objection to removing that particular test.

			regards, tom lane