Re: continuous copy/update one table to another

Поиск
Список
Период
Сортировка
От John R Pierce
Тема Re: continuous copy/update one table to another
Дата
Msg-id 4B8AEEE3.9050806@hogranch.com
обсуждение исходный текст
Ответ на continuous copy/update one table to another  (Terry <td3201@gmail.com>)
Ответы Re: continuous copy/update one table to another  (Szymon Guz <mabewlun@gmail.com>)
Список pgsql-general
Terry wrote:
> Hello,
>
> I am looking for a way to copy all the data from one table to another
> on a regular basis, every 5 minutes let's say.
>
> INSERT INTO table2 SELECT * FROM table1;
>
> The above will copy all the data as is and insert it into the other
> table.  What happens if I rerun it again?  Will it just append table1
> again into table2?  How can I have it only insert rows that are
> different?  Would that be a program to lookup the most last record in
> table 1 and then a query to only select after that row for the insert
> into table2?
>
>

both tables should have a serial 'id' (or bigserial if you expect over 2
billion entries), and use something like ...


       insert into table2  select * from table1 as t1 where t1.id >
(select max(t.id) from table2 as t);


i haven't tested this but I think it should work.  as long as id is
indexed in both tables



В списке pgsql-general по дате отправления:

Предыдущее
От: Terry
Дата:
Сообщение: continuous copy/update one table to another
Следующее
От: David W Noon
Дата:
Сообщение: Re: continuous copy/update one table to another