On 09/27/10 8:08 PM, novnovice wrote:
Can anyone recommend a relatively simple merge replication package that would work well on windows and which relies on one of the current postgresql versions? 9 would be fine for my needs. I'm a fairly unsophisticated postgresql user; and not very experienced with replication on other databases. So the simplest to configure and maintain solution would be best. I am not sure but it sounds like the new replication features that come baked in to postgres 9 are not so oriented towards merge replication - is that right? My use case would involve a primary postgresql database and several postgresql databases on disconnected notebook computers. All dbs need to be able to support updates inserts etc; and then hopefully the replication software would help with things like conflict resolution.
One of the fundamental tenets of Relational Database is that there is One Version of the Truth.
I don't think there's a transparent generic solution to offline replicant re-syncing that isn't full of thorny issues in all sorts of corner cases.
I would instead design your app so it writes a logfile of database changes at an abstract application level, and has a method for replaying this log when the scout hooks back up with the mothership. Common practice is for this sync process to toss any conflicts into an exception log and notify the admins to deal with it. If you design it right, the administrator can add new processing rules and resubmit the exception log until its empty :)
if there's any question about the veracity of the notebooks copy after synching its application change log, I'd consider loading it with a fresh copy of the master, unless this is really expensive because of Db size.
-- Sent via pgsql-general mailing list (pgsql-general@xxxxxxxxxxxxxx) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-general