Tom Lane wrote:
A superuser can create whatever he wants in pg_catalog. Whether this
is a good idea or will behave smoothly is a topic that has not been
thought about, to my knowledge.
regards, tom lane
Sorry, Tom. I think you are mistaken. In my 8.3 instance, system
catalog modifications are not allowed.
/opt/pgsql83/bin/psql -p 5432 -U postgres postgres
Welcome to psql 8.3.3, the PostgreSQL interactive terminal.
Type: \copyright for distribution terms
\h for help with SQL commands
\? for help with psql commands
\g or terminate with semicolon to execute query
\q to quit
postgres=# \du
List of roles
Role name | Superuser | Create role | Create DB | Connections | Member of
-----------+-----------+-------------+-----------+-------------+-----------
postgres | yes | yes | yes | no limit | {}
postgres=# CREATE TABLE pg_catalog.test (id integer);
ERROR: permission denied to create "pg_catalog.test"
DETAIL: System catalog modifications are currently disallowed.
It would be interesting to test a contrib module install in pg_catalog
though.
Cheers,
-- Kevin