Re: Killing OIDs

From: Steve Crawford <scrawford(at)pinpointresearch(dot)com>
To: jd(at)commandprompt(dot)com
Cc: "pgsql-general(at)postgresql(dot)org" <pgsql-general(at)postgresql(dot)org>
Subject: Re: Killing OIDs
Date: 2009-02-11 18:10:39
Message-ID: 4993149F.9060401@pinpointresearch.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: 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

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Ing. Eris Gomez 2009-02-11 18:18:31 Saber cuando se dispara el trigger (After: insert,update,delete)
Previous Message Joshua D. Drake 2009-02-11 18:03:35 Re: Killing OIDs