Re: TWO SAME TABLES, ONE UPDATED. HOW TO SYNC THE OTHER? - Mailing list pgsql-general

From Dmitry Koterov
Subject Re: TWO SAME TABLES, ONE UPDATED. HOW TO SYNC THE OTHER?
Date
Msg-id d7df81620705140340ud610ce9od7c080bf07665529@mail.gmail.com
Whole thread Raw
In response to Re: TWO SAME TABLES, ONE UPDATED. HOW TO SYNC THE OTHER?  (rdeleonp@gmail.com)
List pgsql-general
This query will run quite slow if tables are large, so - you may in addition create a trigger-updated TIMESTAMP columns and search for changed data through the recent created/updated elements only.

On 13 May 2007 02:21:30 -0700, rdeleonp@gmail.com <rdeleonp@gmail.com> wrote:
On May 11, 11:06 pm, "L. Berger" <straightfwd...@gmail.com> wrote:
> Hello
>
> I havetwotables-- A and B. The structure of both is thesame. Only,
> B has many indexes and is used for heavy duty SELECTs. On theother
> hand, A only accepts heavy duty INSERTs, so has onlyoneprimary key
> index.
>
> So my DB design is such that A is only an INSERT table. Periodically,
> say every 20 minutes or so, I would like to take all the new INSERTs
> from table A and put them into B.
>
> Is there any clever command to accomplish this? I'd rather not write a
> PHP script with SQL to take every single new record, and update every
> column of a new row in table B. For instance, can I do a replication
> of onlytables, not databases?
>
> Thanks for any pointers!!
>
> LB

Assuming ID is PK:

INSERT INTO b
        SELECT *
        FROM a
        WHERE NOT EXISTS (
                SELECT 1
                FROM b
                WHERE b.ID = a.ID
        )


---------------------------(end of broadcast)---------------------------
TIP 9: In versions below 8.0, the planner will ignore your desire to
       choose an index scan if your joining column's datatypes do not
       match

pgsql-general by date:

Previous
From: Marcel
Date:
Subject: tsearch2 problem
Next
From: Hannes Dorbath
Date:
Subject: Re: tsearch2 problem