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