Re: cannot remove schema public

From: Thomas Kellerer <spam_eater(at)gmx(dot)net>
To: pgsql-admin(at)postgresql(dot)org
Subject: Re: cannot remove schema public
Date: 2014-07-07 10:19:55
Message-ID: lpds8b$h7e$1@ger.gmane.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-admin

Szymon Guz, 07.07.2014 11:57:
> For the schema public I want to remove it and create again.
> However that doesn't work, I'm wondering if that's on purpose, or it's a kind of a bug.
>
> I'm using user 'szymon' in my console.
>
> Then I created a user:
>
> create user test password 'test';
>
> and database
>
> create database test owner test;
>
> I logged into the database as the user:
>
> test=# \c test test
> You are now connected to database "test" as user "test".
>
> And the owner of the public schema is not test, however it's an owner of the test database.
>
> test=# \dn
> List of schemas
> Name | Owner
> --------+--------
> public | szymon
> (1 row)
>
> When I try to remove the public schema, then I get:
>
> test=> drop schema public cascade;
> ERROR: must be owner of schema public

I noticed that as well recently.
I think there is not much you can do apart from changing the ownership of the schema after creating the database.

However: I use "drop owned by test" to be better suited to make a clean database for testing purposes.
This also means any extension that was installed into the database (and which is not owned by the test user) will survive this as well.

In response to

Browse pgsql-admin by date

  From Date Subject
Next Message Albe Laurenz 2014-07-07 10:55:51 Re: cannot remove schema public
Previous Message Szymon Guz 2014-07-07 09:57:36 cannot remove schema public