Re: Standalone synchronous master

Hannu Krosing <hannu@2ndquadrant.com>

From: Hannu Krosing <hannu@2ndQuadrant.com>
To: Tom Lane <tgl@sss.pgh.pa.us>, "Joshua D. Drake" <jd@commandprompt.com>
Cc: Kevin Grittner <kgrittn@ymail.com>, Bruce Momjian <bruce@momjian.us>, Heikki Linnakangas <hlinnakangas@vmware.com>, Simon Riggs <simon@2ndQuadrant.com>, Rajeev rastogi <rajeev.rastogi@huawei.com>, "pgsql-hackers@postgresql.org" <pgsql-hackers@postgresql.org>
Date: 2014-01-09T14:36:22Z
Lists: pgsql-hackers
On 01/08/2014 11:49 PM, Tom Lane wrote:
> "Joshua D. Drake" <jd@commandprompt.com> writes:
>> On 01/08/2014 01:55 PM, Tom Lane wrote:
>>> Sync mode is about providing a guarantee that the data exists on more than
>>> one server *before* we tell the client it's committed.  If you don't need
>>> that guarantee, you shouldn't be using sync mode.  If you do need it,
>>> it's not clear to me why you'd suddenly not need it the moment the going
>>> actually gets tough.
>> As I understand it what is being suggested is that if a subscriber or 
>> target goes down, then the master will just sit there and wait. When I 
>> read that, I read that the master will no longer process write 
>> transactions. If I am wrong in that understanding then cool. If I am not 
>> then that is a serious problem with a production scenario. There is an 
>> expectation that a master will continue to function if the target is 
>> down, synchronous or not.
> Then you don't understand the point of sync mode, and you shouldn't be
> using it.  The point is *exactly* to refuse to commit transactions unless
> we can guarantee the data's been replicated.
For single host scenario this would be similar to asking for
a mode which turns fsync=off in case of disk failure :)


Cheers

-- 
Hannu Krosing
PostgreSQL Consultant
Performance, Scalability and High Availability
2ndQuadrant Nordic OÜ