Tom Lane wrote on 09.12.2012 17:43:
spam_ea...@gmx.net writes:
postgres=# create user testuser with password 'secret';
CREATE ROLE
postgres=# create database testdb owner testuser;
CREATE DATABASE
testdb=> drop owned by testuser;
ERROR: unrecognized object class: 1262
I can reproduce this in all versions back to 8.3. In 8.2, the role's
ownership of the database is silently ignored, which I think was the
design intention. I doubt that we want DROP OWNED dropping whole
databases. At most maybe we should raise a NOTICE?
Just for clarification, this is how it worked in 9.1 (and I'm pretty sure in
9.2.1 as well):
First I create a testuser and the database:
C:\>psql -X -U postgres postgres
psql (9.1.3)
postgres=# create database testdb owner testuser;
ERROR: role "testuser" does not exist
postgres=# create user testuser with password 'secret';
CREATE ROLE
postgres=# create database testdb owner testuser;
CREATE DATABASE
postgres=# \q
Then I log in as the testuser, create a table and drop all objects again:
C:\>psql -X -U testuser testdb
Password for user testuser:
psql (9.1.3)
testdb=> create table foobar (id integer);
CREATE TABLE
testdb=> drop owned by testuser;
DROP OWNED
testdb=>
--
Sent via pgsql-bugs mailing list (pgsql-bugs@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-bugs