Tom Lane wrote:
> Jan Wieck <JanWieck@Yahoo.com> writes:
>> Removing sync() entirely requires very accurate fsync()'ing in the
>> background writer, the checkpointer and the backends. Basically none of
>> them can mark a block "clean" if he fails to fsync() the relation later!
>> This will be a mess to code.
>
> Not really. The O_SYNC solution for example would be trivial to code.
Well, the bgwriter has basically the same chance the checkpointer has
... mdblindwrt() in the end, because he doesn't have the relcache handy.
So you want to open(O_SYNC), write(), close() every single block? I
don't expect that to be much better than a global sync().
Jan
--
#======================================================================#
# It's easier to get forgiveness for being wrong than for being right. #
# Let's break this rule - forgive me. #
#================================================== JanWieck@Yahoo.com #