Re: copying data between tables - Mailing list pgsql-admin

From Jean-Michel Chabanne
Subject Re: copying data between tables
Date
Msg-id c1tguj$2ahk$1@news.hub.org
Whole thread Raw
In response to copying data between tables  (Tsirkin Evgeny <tsurkin@mail.jct.ac.il>)
List pgsql-admin
Tsirkin Evgeny wrote:

> On Fri, 27 Feb 2004 20:14:53 +0100, Jean-Michel Chabanne
> <jeanmichel.chabanne@online.fr> wrote:
>
>> Le ven 27/02/2004 ׳� 03:40, Tsirkin Evgeny a ׳™crit :
>>> Hi all!
>>> I have the following task :
>>> I have some tables edited (insert/update) by users.
>>> I should create a file (in whatever format) containing
>>> changes of the last day,every day.What I have currently
>>> is :
>>> I have two tables of the same structer ,every day i :
>>>
>>> select * from newtable
>>> except
>>> select * from oldtable
>>>
>>> And then format the data with perl script.After that ,i
>>> am copying the data from the new table to the old table .It
>>> works pretty good except that the copying is VERY slow:
>>> I use :
>>> insert into old from (select * from newtable);
>>>
>>> Is there any more afficient way to do what i need ,
>>> that somebody already use?
>>> Is there any more afficient way to copy data between
>>> tables?
>>> I know that i can use COPY to copy files from
>>> and to files ,can it be used here?
>>>
>>>
>>> ---------------------------(end of broadcast)---------------------------
>>> TIP 5: Have you checked our extensive FAQ?
>>>
>>>                http://www.postgresql.org/docs/faqs/FAQ.html
>>>
>>
>> If I had to do this, I would use triggers which, on every INSERT/UPDATE
>> by users, would insert the new item + timestamp or date in a new table.
>>
>> I hope this will help you.
>>
>>
> That would not make me able to know WHAT was the change:
> what was there befor and after the update
>
>
>
>
> ---------------------------(end of broadcast)---------------------------
> TIP 8: explain analyze is your friend

The trigger must write into two tables of course, the original table and a
new table which is a kind of log table.

Lest's say users insert all data into a table T1. The trigger inserts data
into T1 _AND_ a copy of the item, with timestamp or date, into T2. To know
what was changed a day, you only have to query the table T2.

This would work fine, if I've understood what you want to do, of course.



pgsql-admin by date:

Previous
From: "Gavin M. Roy"
Date:
Subject: Re: [HACKERS] Any Gentoo users interested in a slotted PostgreSQL
Next
From: karthikeyan
Date:
Subject: how do i unsubcribe?????