Synchronize tables question....
Hi,
I have a table with four text fields on two different machines
that contain information about mail list passwords/software keys
and similar information. Neither table has any keys or constraints.
I do have dbi installed on each machine...
Is there an elegant way I can merge/update the two tables so that
they will contain the same information ( with no duplicates or
omissions)?
Thanks,
Jerry
Don't forget to CC: the list
Jerry LeVan wrote:
Is there an elegant way I can merge/update the two tables so that
they will contain the same information ( with no duplicates or
omissions)?It sounds like you'll want some form of replication, but whether
single-master or multi-master no-one can say without more information.
I meant to say I had dblink installed :)
The following sequence of steps seems to work ok, the tables are very
small...
insert into tmpRegistrations select *
from dblink('select * from registrations ')
as (software text,
id text,
value text,
location text
)select dblink_disconnect()
create temp table newregistrations as
(select * from registrations union select * from tmpregistrations )truncate table registrations
insert into registrations select * from newregistrations
A couple of points:
1. What if a registration is updated?
2. What happens if you get a new registration between CREATE TEMP TABLE
and TRUNCATE?
--
Richard Huxton
Archonet Ltd
Import Notes
Reply to msg id not found: 8C87111A-599A-42A8-AD52-8673DD137735@eku.edu
On Feb 19, 2007, at 9:05 AM, Richard Huxton wrote:
Don't forget to CC: the list
Jerry LeVan wrote:
Is there an elegant way I can merge/update the two tables so that
they will contain the same information ( with no duplicates or
omissions)?It sounds like you'll want some form of replication, but whether
single-master or multi-master no-one can say without more
information.I meant to say I had dblink installed :)
The following sequence of steps seems to work ok, the tables are
very small...insert into tmpRegistrations select *
from dblink('select * from registrations ')
as (software text,
id text,
value text,
location text
)
select dblink_disconnect()
create temp table newregistrations as
(select * from registrations union select * from
tmpregistrations )
truncate table registrations
insert into registrations select * from newregistrationsA couple of points:
1. What if a registration is updated?
2. What happens if you get a new registration between CREATE TEMP
TABLE and TRUNCATE?--
Richard Huxton
Archonet Ltd
While a "generic" solution would be nice, I am the only one using the
DB :)
(so point 2 is unlikely).
Point 1 will require a bit of thought..., currently I would have to do
a manual scan of the (small) table after the merge.
Thanks
Jerry
Jerry LeVan wrote:
Is there an elegant way I can merge/update the two tables so that
they will contain the same information ( with no duplicates or
omissions)?
Well comparing algorithm is quite complex and depend on data.
You can use third patry software like
http://www.sqlmanager.net/en/products/postgresql/datacomparer
--
View this message in context: http://www.nabble.com/Synchronize-tables-question....-tf3242977.html#a9055565
Sent from the PostgreSQL - general mailing list archive at Nabble.com.