Re: unlogged tables vs. GIST
Tom Lane <tgl@sss.pgh.pa.us>
From: Tom Lane <tgl@sss.pgh.pa.us>
To: Robert Haas <robertmhaas@gmail.com>
Cc: Heikki Linnakangas <hlinnakangas@vmware.com>, Jeevan Chalke <jeevan.chalke@enterprisedb.com>, pgsql-hackers@postgresql.org
Date: 2013-01-15T18:48:09Z
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 →
-
The GiST scan algorithm uses LSNs to detect concurrent pages splits, but
- 2edc5cd493ce 9.1.0 cited
Robert Haas <robertmhaas@gmail.com> writes: > On Tue, Jan 15, 2013 at 1:10 PM, Heikki Linnakangas > <hlinnakangas@vmware.com> wrote: >> Could we stash the counter e.g. in the root page of the index? > That would require maintaining a counter per table rather than a > single global counter, which would be bad because then we'd need to > store one counter in shared memory for every table, rather than just > one, period, which runs up against the fixed sizing of shared memory. I think what Heikki had in mind was that the copy in the index would be the authoritative one, not some image in shared memory. This'd imply dirtying the root page on every insert, as well as increased contention for the root page, so it might have performance problems. I think a bigger issue is where we'd find any space for it. There's no easily-spare space in a GIST page. This reminds me again that the lack of a metapage in GIST was a serious design error, which we should correct if we ever break on-disk compatibility again. I concur that adding such a counter to pg_control is a nonstarter, though. Given that we don't need crash recovery for an unlogged table, could we get away with some variant of NSN that has weaker semantics than XLOG LSNs? regards, tom lane