Re: fsync or fdatasync

From: "Gaetano Mendola" <mendola(at)bigfoot(dot)com>
To: pgsql-admin(at)postgresql(dot)org
Subject: Re: fsync or fdatasync
Date: 2002-09-09 17:19:09
Message-ID: alil6f$fie$1@news.hub.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-admin


"Tom Lane" <tgl(at)sss(dot)pgh(dot)pa(dot)us> wrote in message
news:11753(dot)1031590251(at)sss(dot)pgh(dot)pa(dot)us(dot)(dot)(dot)
> "Gaetano Mendola" <mendola(at)bigfoot(dot)com> writes:
> > apparently the default value for wal_sync_method is fsync,
> > and apparently the best method is fdatasync.
>
> Best on what platform, and according to what evidence?

Well, the man say ( Linux ):

fdatasync flushes all data buffers of a file to disk (before the system call
returns). It resembles fsync but is
not required to update the metadata such as access time.

Applications that access databases or log files often write a tiny
data fragment (e.g., one line in a log file)
and then call fsync immediately in order to ensure that the
written data is physically stored on the harddisk.
Unfortunately, fsync will always initiate two write operations: one
for the newly written data and another one in
order to update the modification time stored in the inode. If the
modification time is not a part of the transac
tion concept fdatasync can be used to avoid unnecessary inode disk
write operations.

So, what is wrong here ? Seems clear that one write is better than two.

Ciao
Gaetano

In response to

Responses

Browse pgsql-admin by date

  From Date Subject
Next Message Tom Lane 2002-09-09 20:42:52 Re: fsync or fdatasync
Previous Message Tom Lane 2002-09-09 16:50:51 Re: fsync or fdatasync