Re: unlogged tables vs. GIST

Tom Lane <tgl@sss.pgh.pa.us>

From: Tom Lane <tgl@sss.pgh.pa.us>
To: Heikki Linnakangas <heikki.linnakangas@enterprisedb.com>
Cc: Robert Haas <robertmhaas@gmail.com>, pgsql-hackers@postgresql.org
Date: 2010-12-17T20:03:34Z
Lists: pgsql-hackers

Commits

Same data as JSON: GET /api/v1/messages/:b64id/commits the thread's linked commits as JSON, with link sources. API reference →
  1. The GiST scan algorithm uses LSNs to detect concurrent pages splits, but

Heikki Linnakangas <heikki.linnakangas@enterprisedb.com> writes:
> On 17.12.2010 21:32, Robert Haas wrote:
>> I guess the question is whether it's right to conflate "table is
>> unlogged" with "LSN is fake".  It's not immediately obvious to me that
>> those concepts are isomorphic, although though the reverse isn't
>> obvious to me either.

> The buffer manager only needs to know if it has to flush the WAL before 
> writing the page to disk. The flag just means that the buffer manager 
> never needs to do that for this buffer. You're still free to store a 
> real LSN there if you want to, it just won't cause any WAL flushes.

Yeah.  I think that BM_UNLOGGED might be a poor choice for the flag name,
just because it overstates what the bufmgr needs to assume.  It might be
better to reverse the flag sense, and have a new flag that *is* set if
the page contains an LSN that we have to check against WAL.

			regards, tom lane