> Bruce Momjian <pgman@candle.pha.pa.us> writes:
> >> Not really, I thought an ack on a commit would mean that the data
> >> is actually in stable storage, breaking that would be pretty bad
> >> no?
>
> > The default is to sync on commit, but we need to give people options of
> > several seconds delay for performance reasons. Inforimx calls it
> > buffered logging, and it is used by most of the sites I know because it
> > has much better performance that sync on commit.
>
> I have to agree with Alfred here: this does not sound like a feature,
> it sounds like a horrid hack. You're giving up *all* consistency
> guarantees for a performance gain that is really going to be pretty
> minimal in the WAL context.
It does not give up consistency. The db is still consistent, it is just
consistent from a few seconds ago, rather than commit time. This is
standard Informix practice at most law firms I work with.
>
> Earlier, Vadim was talking about arranging to share fsyncs of the WAL
> log file across transactions (after writing your commit record to the
> log, sleep a few milliseconds to see if anyone else fsyncs before you
> do; if not, issue the fsync yourself). That would offer less-than-
> one-fsync-per-transaction performance without giving up any guarantees.
> If people feel a compulsion to have a tunable parameter, let 'em tune
> the length of the pre-fsync sleep ...
That would work.
-- Bruce Momjian | http://candle.pha.pa.us pgman@candle.pha.pa.us | (610)
853-3000+ If your life is a hard drive, | 830 Blythe Avenue + Christ can be your backup. | Drexel Hill,
Pennsylvania19026