Re: [SQL] keeping OID's when copying table - Mailing list pgsql-sql

From Bruce Momjian
Subject Re: [SQL] keeping OID's when copying table
Date
Msg-id 199902030355.WAA19807@candle.pha.pa.us
Whole thread Raw
In response to keeping OID's when copying table  (Michael Olivier <molivier@yahoo.com>)
List 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@candle.pha.pa.us            |  (610) 853-3000
  +  If your life is a hard drive,     |  830 Blythe Avenue
  +  Christ can be your backup.        |  Drexel Hill, Pennsylvania 19026

pgsql-sql by date:

Previous
From: "Vladimir Dobrokhotov"
Date:
Subject: Re: [SQL] index on int2.
Next
From: Claudius du Plessis
Date:
Subject: subscribe pgsql-sql