From: | Bruce Momjian <pgman(at)candle(dot)pha(dot)pa(dot)us> |
---|---|
To: | Mats Lofkvist <mal(at)algonet(dot)se> |
Cc: | pgsql-admin(at)postgresql(dot)org |
Subject: | Re: fsync or fdatasync |
Date: | 2002-09-12 16:25:38 |
Message-ID: | 200209121625.g8CGPcf04332@candle.pha.pa.us |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-admin |
Mats Lofkvist wrote:
> > 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).
Yes, I didn't mention O_DSYNC. It is in the cards. If you are
interested, look at the code and how the defaults are chosen.
postgresql.conf say:
#wal_sync_method = fsync # the default varies across platforms:
# # fsync, fdatasync, open_sync, or open_datasync
Which means exactly that, varies based on the platform.
--
Bruce Momjian | http://candle.pha.pa.us
pgman(at)candle(dot)pha(dot)pa(dot)us | (610) 359-1001
+ If your life is a hard drive, | 13 Roberts Road
+ Christ can be your backup. | Newtown Square, Pennsylvania 19073
From | Date | Subject | |
---|---|---|---|
Next Message | info | 2002-09-12 17:45:45 | -i option |
Previous Message | Bruce Momjian | 2002-09-12 16:07:38 | Re: disk spin down |