Re: fsync or fdatasync

From: Mats Lofkvist <mal(at)algonet(dot)se>
To: pgsql-admin(at)postgresql(dot)org
Subject: Re: fsync or fdatasync
Date: 2002-09-12 08:29:46
Message-ID: y2q7khr626d.fsf@algonet.se
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-admin

pgman(at)candle(dot)pha(dot)pa(dot)us (Bruce Momjian) writes:

> Ragnar Kjørstad wrote:
> > On Tue, Sep 10, 2002 at 11:40:24AM -0400, Bruce Momjian wrote:
> > >
> > > The original poster was wrong about the default.
> > >
> > > We use fdatasync where available, and fsync when it is not.
> >
> > Makes sense.
> >
> > > We also use
> > > O_SYNC on open if it is available.
> >
> > Why? That will slow tings down...
>
> Actually, no, we are only O_SYNC'ing the WAL writes and sometimes that
> is faster because you are not writing then fsyncing, you are just
> writing. The fdatasync only is better than O_SYNC when you are doing
> multiple WAL writes before an fdatasync and we normally don't do that.
>

I may be wrong on this, but my understanding is that the difference
between fsync() and O_SYNC on the one hand and fdatasync() and O_DSYNC
on the other hand is that the latter don't have to sync metadata
(e.g. file access times) which saves a write to the inode that is
more or less guarantied to require an extra seek.

Iff this is true you never want to use fsync() or O_SYNC when
fdatasync() and O_DSYNC is available (unless you really need the
metadata to be synced too).

_
Mats Lofkvist
mal(at)algonet(dot)se

In response to

Responses

Browse pgsql-admin by date

  From Date Subject
Next Message pgomez 2002-09-12 09:10:19 psql database recovery error
Previous Message Krammer Clemens 2002-09-12 07:23:06 disk spin down