Re: synchronous replication + fsync=off? - Mailing list pgsql-general

From Tomas Vondra
Subject Re: synchronous replication + fsync=off?
Date
Msg-id 7927476a4c4b7d97282f3df899d88a26.squirrel@sq.gransy.com
Whole thread Raw
In response to Re: synchronous replication + fsync=off?  (Jaime Casanova <jaime@2ndquadrant.com>)
Responses Re: synchronous replication + fsync=off?  (Bruce Momjian <bruce@momjian.us>)
List pgsql-general
On 17 Listopad 2011, 17:07, Jaime Casanova wrote:
> On Thu, Nov 17, 2011 at 7:52 AM, Schubert, Joerg <jschubert@cebacus.de>
> wrote:
>> Hello,
>>
>> I have two servers with battery backed power supply (USV). So it is
>> unlikely, that both will crash at the same time.
>>
>> Will synchronous replication work with fsync=off?
>> That means we will commit to system cache, but not to disk. Data will
>> not
>> survive a system crash but the second system should still be consistent.
>>
>
> you should never use fsync=off (in production at least)
>
> the appropiate parameter to use is synchronous_commit which is the one
> that controls synchronous replication:
> off = no local nor remote synchronous commit
> local = local synchronous commit but no remote
> on = both, local and remote, synchronous commit
>
> synchronous commit = flushed to disk

While I don't recommend it, fsync=off definitely is an option, especially
with sync replication. The synchronous_commit is not a 1:1 replacement.

Imagine for example a master with lot of I/O, and a sync standby. By
setting fsync=off on the master and fsync=on on the slave the master does
not need to wait for the fsync (so the I/O is not that stressed and can
handle more requests from clients), but the slave actually does fsync.

So you don't force local fsync, but you're waiting for fsync from the
standby. But standby doesn't need to handle all the I/O the primary has.

You can't do this with synchronous_commit - that basically forces you to
do local fsync on commit, or not to wait for the commit at all.

Tomas

Disclaimer: I haven't actually tried this, so maybe I missed something.





pgsql-general by date:

Previous
From: Scott Marlowe
Date:
Subject: Re: synchronous replication + fsync=off?
Next
From: "J.V."
Date:
Subject: monitoring sql queries