Thread: owner of a database does not own "public" schema?

owner of a database does not own "public" schema?

From
Thomas Kellerer
Date:
Hi,

I was playing around with schemas and noticed that that the owner of a the database (specified with the CREATE DATABASE
command)is not the owner of the database's public schema: 

(Connect as super user)

c:\temp>psql postgres postgres
Password for user postgres:
psql (8.4.3)
Type "help" for help.

postgres=# create user foo password 'bar';
CREATE ROLE
postgres=# create database foo owner = foo encoding = 'UTF-8';
CREATE DATABASE
postgres=# \q


c:\>psql foo foo
Password for user foo:
psql (8.4.3)
Type "help" for help.

foo=> drop schema public;
ERROR:  must be owner of schema public
foo=>

(As you can see, I'm using Postgres 8.4.3 on Windows)

I understand that I could grant the necessary privileges to the role after creating the database.
I'm just curious why the databse owner is not the owner of the public schema.


Regards
Thomas