From: | Doug Fields <dfields(at)pexicom(dot)com> |
---|---|
To: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
Cc: | Doug Fields <dfields-pg-general(at)pexicom(dot)com>, pgsql-general(at)postgresql(dot)org |
Subject: | Re: Altering existing table to be WITHOUT OIDs |
Date: | 2002-05-25 20:17:30 |
Message-ID: | 5.1.0.14.2.20020525161613.02c4f8c8@mail.pexicom.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | 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(at)pexicom(dot)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
From | Date | Subject | |
---|---|---|---|
Next Message | Doug Fields | 2002-05-25 20:39:24 | Re: Altering existing table to be WITHOUT OIDs |
Previous Message | Francisco Reyes | 2002-05-25 20:08:42 | Moving data from FreeBSD to Red Hat |