On Tue, Jun 29, 2010 at 2:45 PM, Bruce Momjian <bruce@xxxxxxxxxx> wrote: > Tom Lane wrote: >> Bruce Momjian <bruce@xxxxxxxxxx> writes: >> >>> I asked on IRC and was told it is true, and looking at the C code it >> >>> looks true. ?What synchronous_commit = false does is to delay writing >> >>> the wal buffers to disk and fsyncing them, not just fsync, which is >> >>> where the commit loss due to db process crash comes from. >> >> >> Ah, I see. Thanks. >> >> > I am personally surprised it was designed that way; I thought we would >> > just delay fsync. >> >> That would require writing and syncing to be separable actions. If >> you're using O_SYNC or similar, they aren't. > > Ah, very good point. I have added a C comment to clarify why this is > the current behavior; attached and applied. > > -- > Bruce Momjian <bruce@xxxxxxxxxx> http://momjian.us > EnterpriseDB http://enterprisedb.com Though has anybody seen a behaviour where synchronous_commit=off is slower than synchronous_commit=on ? Again there are two cases here one with O_* flag and other with f*sync flags. But I had seen that behavior with PostgreSQL 9.0 beta(2 I think) though havent really investigated it much yet .. (though now I dont remember which wal_sync_method flag) . Just curious if anybody has seen that behavior.. Regards, Jignesh -- Sent via pgsql-performance mailing list (pgsql-performance@xxxxxxxxxxxxxx) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-performance