Re: Altering existing table to be WITHOUT OIDs - Mailing list pgsql-general

From Doug Fields
Subject Re: Altering existing table to be WITHOUT OIDs
Date
Msg-id 5.1.0.14.2.20020525161613.02c4f8c8@mail.pexicom.com
Whole thread Raw
In response to Re: Altering existing table to be WITHOUT OIDs  (Tom Lane <tgl@sss.pgh.pa.us>)
Responses Re: Altering existing table to be WITHOUT OIDs
List pgsql-general
For the benefit for anyone who may search this list in the future for this
information, I used the following queries to implement Tom's suggestion on
the table "list_entries" in this example:

UPDATE pg_class SET relhasoids=false WHERE relname='list_entries';
DELETE FROM pg_attribute
     WHERE attrelid = (SELECT oid FROM pg_class WHERE relname =
'list_entries')
         AND attname='oid';

You might want to also include the reltype in the sub-SELECT if you re-use
names willy-nilly.

Cheers,

Doug


At 04:06 PM 5/24/2002, Tom Lane wrote:
>Doug Fields <dfields-pg-general@pexicom.com> writes:
> > The documentation does not give any information about how I might do this
> > in the ALTER TABLE, so it may not be possible, at least, not that way.
>
>ALTER TABLE doesn't support it, but you could reach in and tweak
>pg_class.relhasoids for your tables.  I think you would also need to
>delete the pg_attribute row for oid for each such table if you wanted
>to have a perfectly clean result.
>
>                         regards, tom lane



pgsql-general by date:

Previous
From: NunoACHenriques
Date:
Subject: is there any backend (server) timeout undocumented?
Next
From: Devrim GUNDUZ
Date:
Subject: Re: RPM for latest version of Postgres