Hello all,
I usually create new databases with an explicit owner which is the "application user" that is used by the application
toconnect to the database.
I recently noticed when I do the following:
postgres=# create user arthur identified by 'secret';
postgres=# create database guide owner = arthur;
Then when running \l I do see that the new database is owned by arthur.
However wenn I connect to the database and use \dn I see that the public schema is owned by "postgres" (the user that
wasused to create the database).
Due to the default privileges on the public schema this isn't really a problem and I can always change the owner for
theschema anyway.
But I would have expected the owner of the database to be the owner of any "object" that is created during database
initialization.
Do I have a wrong assumption here?
Regards
Thomas