Re: [SQL] keeping OID's when copying table

From: Bruce Momjian <maillist(at)candle(dot)pha(dot)pa(dot)us>
To: molivier(at)yahoo(dot)com (Michael Olivier)
Cc: pgsql-sql(at)postgreSQL(dot)org
Subject: Re: [SQL] keeping OID's when copying table
Date: 1999-02-03 03:55:01
Message-ID: 199902030355.WAA19807@candle.pha.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-sql

> Hi folks,
>
> Using 6.3.2 in Linux and trying to clean up some tables by getting rid
> of dead columns, but need to preserve the OID's... The FAQ in "3.17)
> What is an oid? What is a tid?" describes this process to copy a
> table, keeping the OID's:
>
> CREATE TABLE new_table (mycol int);
> INSERT INTO new_table SELECT oid, mycol FROM old_table;
>
> But I tried this and it failed:
>
> dmlists=> create table test (acctname text not null);
> CREATE
> dmlists=> create table test2 (acctname text not null);
> CREATE
> dmlists=> insert into test2 select oid, acctname from test;
> ERROR: Type of oid does not match target column acctname
>
> How can I do this?

Thank you for pointing out my error. It should be:

CREATE TABLE new_table (mycol int);
INSERT INTO new_table (oid, mycol) SELECT oid, mycol FROM old_table;

I have updated the FAQ.

--
Bruce Momjian | http://www.op.net/~candle
maillist(at)candle(dot)pha(dot)pa(dot)us | (610) 853-3000
+ If your life is a hard drive, | 830 Blythe Avenue
+ Christ can be your backup. | Drexel Hill, Pennsylvania 19026

In response to

Browse pgsql-sql by date

  From Date Subject
Next Message Claudius du Plessis 1999-02-03 05:57:55 subscribe pgsql-sql
Previous Message Vladimir Dobrokhotov 1999-02-03 01:01:17 Re: [SQL] index on int2.