Re: Killing OIDs - Mailing list pgsql-general

From Steve Crawford
Subject Re: Killing OIDs
Date
Msg-id 4993149F.9060401@pinpointresearch.com
Whole thread Raw
In response to Re: Killing OIDs  ("Joshua D. Drake" <jd@commandprompt.com>)
Responses Re: Killing OIDs
List pgsql-general
Joshua D. Drake wrote:
> On Wed, 2009-02-11 at 09:41 -0800, Steve Crawford wrote:
>
>> I'm about to deal with an upgrade of a server running 7.4. I have
>> checked with the developers and they are not using OIDs so I'd like to
>> remove them so they aren't carried forward to 8.3.
>>
>> My plan is to do the OID removal on 7.4. I can get a script with:
>> SELECT
>>     'ALTER TABLE ' || relname || ' SET WITHOUT OIDS;'
>> FROM
>>     pg_class
>> WHERE
>>     relkind='r' and
>>     relowner != 1 and
>>     relhasoids;
>> .....
>>
>
> That won't drop the OID columns.
>

So what am I missing, here?:

steve=> create table foo (bar text);
CREATE TABLE
steve=> alter table foo drop column OID;
ERROR:  cannot drop system column "oid"
steve=> alter table foo set without OIDs;
ALTER TABLE
steve=> alter table foo drop column OID;
ERROR:  column "oid" of relation "foo" does not exist

Although I assume a cluster would reclaim space, I don't actually care
if the space used by the OIDs is reclaimed in the 7.4 database as long
as the OIDs are not created when the data is restored in 8.3.

Cheers,
Steve


pgsql-general by date:

Previous
From: "Joshua D. Drake"
Date:
Subject: Re: Killing OIDs
Next
From: "Ing. Eris Gomez"
Date:
Subject: Saber cuando se dispara el trigger (After: insert,update,delete)