Re: Copying data from table to table (cloned tables) - Mailing list pgsql-admin

From Bricklen Anderson
Subject Re: Copying data from table to table (cloned tables)
Date
Msg-id 452AE2FF.1020409@presinet.com
Whole thread Raw
In response to Copying data from table to table (cloned tables)  ("Fourat Zouari" <fourat@gmail.com>)
Responses REMOVE PLEASE  ("Rob Van Dell" <rvandell@hotmail.com>)
Re: Copying data from table to table (cloned tables)  ("Jim C. Nasby" <jim@nasby.net>)
List pgsql-admin
Fourat Zouari wrote:
> Hello all,
> Any one could suggest the best way to copy data from table to table in
> the same db, the reason why am seeking for this is that the first table
> is becoming very big, and old data has no reason why to stay there, so i
> created a cloned table but without indexes and constraints (lighter) and
> now i would like to copy 'some' data from first to second table (copied
> data is data older than 3 months, i have a timestamp column).
>
> In other way, i have a table called 'hotqueues' where i store fresh
> messages queued, once messages are treated, they stay in 'hotqueues' but
> with a flag indicating that their arent queued for treatment..
> so in this way, data will rest there forever, slowing down any searches
> in that table, the solution was to copy old messages to another table
> called 'coldqueues' that has the same structure as 'hotqueues' but
> lighter (without constraints and indexes).
> How to copy these data with 100% data-loose free.
>
> Thanks for any help you can provide.

If you just want to copy the data across to the other table:
begin;
insert into table2 select * from table1 where <some criteria>;
commit;

if you also want to remove that same data from table1:
begin;
insert into table2 select * from table1 where <some criteria>;
delete from table1 where <same criteria as above>;
commit;

pgsql-admin by date:

Previous
From: "Fourat Zouari"
Date:
Subject: Copying data from table to table (cloned tables)
Next
From: "Rob Van Dell"
Date:
Subject: REMOVE PLEASE