On Fri, Nov 13, 2009 at 1:49 AM, Greg Smith <g...@2ndquadrant.com> wrote: > This a distressingly common thing people get wrong about replication. You > can either have synchronous replication, which as you say has to be slow: > you must wait for an fsync ACK from the secondary and a return trip before > you can say something is committed on the primary. Or you can get better > performance by not waiting for all of those things, but the minute you do > that it's *not* synchronous replication anymore. You can't get > high-performance and true synchronous behavior; you have to pick one. The > best you can do if you need both is work on accelerating fsync everywhere > using the standard battery-backed write cache technique.
I'm not happy that such frequent fsyncs would harm even semi-synchronous replication (i.e., you must wait for a *recv* ACK from the secondary and a return trip before you can say something is committed on the primary. This corresponds to the DRBD's protocol B) rather than synchronous one. Personally, I think that semi-synchronous replication is sufficient for HA. Regards, -- Fujii Masao NIPPON TELEGRAPH AND TELEPHONE CORPORATION NTT Open Source Software Center -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers