Re: RE: [COMMITTERS] pgsql/src/backend/access/transam ( xact.c xlog.c)

From: Bruce Momjian <pgman(at)candle(dot)pha(dot)pa(dot)us>
To: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: Alfred Perlstein <bright(at)wintelcom(dot)net>, Tatsuo Ishii <t-ishii(at)sra(dot)co(dot)jp>, vmikheev(at)SECTORBASE(dot)COM, peter_e(at)gmx(dot)net, pgsql-hackers(at)postgresql(dot)org
Subject: Re: RE: [COMMITTERS] pgsql/src/backend/access/transam ( xact.c xlog.c)
Date: 2000-11-11 20:13:54
Message-ID: 200011112013.PAA25245@candle.pha.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

> Bruce Momjian <pgman(at)candle(dot)pha(dot)pa(dot)us> writes:
> >> 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.
>
> No, it isn't consistent. Without the fsync you don't know what order
> the kernel will choose to plop down WAL log blocks in; you could end up
> with a corrupt log. (Actually, perhaps that could be worked around if
> the log blocks are suitably marked so that you can tell where the last
> sequentially valid one is. I haven't looked at the log structure in
> any detail...)

Well, WAL already has to be careful in the order it plops down the log
blocks because a single transaction can span multiple log blocks.

--
Bruce Momjian | http://candle.pha.pa.us
pgman(at)candle(dot)pha(dot)pa(dot)us | (610) 853-3000
+ If your life is a hard drive, | 830 Blythe Avenue
+ Christ can be your backup. | Drexel Hill, Pennsylvania 19026

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Matthew 2000-11-11 21:29:08 RE: cygwin gcc problem.
Previous Message Bruce Momjian 2000-11-11 20:10:12 Re: RE: [COMMITTERS] pgsql/src/backend/access/transam ( xact.c xlog.c)