Re: BUG #7748: "drop owned by" fails with error message: "unrecognized object class: 1262"

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=>

In response to

Browse pgsql-bugs by date

  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