From: | Thomas Kellerer <spam_eater(at)gmx(dot)net> |
---|---|
To: | pgsql-bugs(at)postgresql(dot)org |
Subject: | Re: BUG #7748: "drop owned by" fails with error message: "unrecognized object class: 1262" |
Date: | 2012-12-09 22:44:13 |
Message-ID: | ka3462$2er$1@ger.gmane.org |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-bugs |
Tom Lane wrote on 09.12.2012 17:43:
> spam_eater(at)gmx(dot)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=>
From | Date | Subject | |
---|---|---|---|
Next Message | Tom Lane | 2012-12-09 22:45:32 | Re: init_htab causes SIGFPE (or worse) due to miscalculation for large nbuckets |
Previous Message | Jeff Davis | 2012-12-09 19:01:55 | init_htab causes SIGFPE (or worse) due to miscalculation for large nbuckets |