Re: [PERFORM] Upgrade to dual processor machine? - Mailing list pgsql-general

From Tom Lane
Subject Re: [PERFORM] Upgrade to dual processor machine?
Date
Msg-id 21066.1037305192@sss.pgh.pa.us
Whole thread Raw
In response to Re: Upgrade to dual processor machine?  ("scott.marlowe" <scott.marlowe@ihs.com>)
List pgsql-general
"scott.marlowe" <scott.marlowe@ihs.com> writes:
> On 14 Nov 2002, Doug McNaught wrote:
>> fsync() is a system call that flushes a file's contents from the
>> buffer cache to disk.  PG uses it to ensure consistency in the WAL
>> files.  It is enabled by default.  Do NOT disable it unless you know
>> exactly what you are doing and are prepared to sacrifice some data
>> integrity for performance.

> I thought the danger with WAL was minimized to the point of not being an
> issue anymore.  Tom?

Actually, more the other way 'round: WAL minimizes the cost of using
fsync, since we now only need to fsync the WAL file and not anything
else.  The risk of not using it is still data corruption --- mainly
because without fsync, we can't be certain that WAL writes hit disk
in advance of the corresponding data-page changes.  If you have a crash,
the system will replay the log as far as it can; but if there are
additional unlogged changes in the data files, you might have
inconsistencies.

I'd definitely recommend keeping fsync on in any production
installation.  For development maybe you don't care about data loss...

            regards, tom lane

pgsql-general by date:

Previous
From: "Erwan DUROSELLE"
Date:
Subject: rserv
Next
From: アムス
Date:
Subject: php3 compatibility?