I need some tips to find the right solution to keep my Application databases in sync.

The scenario is as follows: my users have 2 copies of their databases: one, local, for offline operations, and one, remote, on my server, that should be accessed and modified from other users. Normally the user works with the remote DB. What I want is when a user goes offline (i.e. the connection drops) the application automatically switches to local DB (and that's done by the application) but, when the user returns online, there should be something that updates remote db with local data and checks for remote DB updates (made by other users)... before (or while) the user returns to work with remote DB.

... something like an "on-demand synchronizer".

Both server and clients are Windows, differences should be in versions (XP, 7, 2008 Server) and architectures (x86-x64).
All systems run the same Postgres version (9.1.4)

I saw a lot of solutions, but many of them are (obviously) for *nix, and others are run with a GUI (that I don't want... just set up some config and all the work is to be done in transparent mode for the user)

Who can help me?
Thanks in advance, and sorry for the rather long post.