Azimuddin, Then you should look at the tools you have at hand. i.e. Using nothing but the OS (FreeBSD/CARP/ZFS), Postgres and some custom scripts. In the postgres.conf file setup synchronous replication and the application_name in the recovery.conf file: synchronous_standby_names = '1 (standby, witness)' ----------- ----------- | | | | | primary |---sync--->| standby | | | | | ----------- ----------- | | | | ---------carp----------- | | async/sync | | ----------- | | | witness | | | ----------- |