Re: unlogged tables vs. GIST
Andres Freund <andres@2ndquadrant.com>
From: Andres Freund <andres@2ndquadrant.com>
To: Heikki Linnakangas <hlinnakangas@vmware.com>
Cc: Tom Lane <tgl@sss.pgh.pa.us>, Robert Haas <robertmhaas@gmail.com>, Jeevan Chalke <jeevan.chalke@enterprisedb.com>, pgsql-hackers@postgresql.org
Date: 2013-01-15T19:07:37Z
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
On 2013-01-15 20:58:00 +0200, Heikki Linnakangas wrote: > On 15.01.2013 20:48, Tom Lane wrote: > >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. > > Not every insert, just every split. Which might still be a performance > problem, but an order of magnitude smaller. I might be dense here and I don't really know that code, but if its only splits why not do an XLogInsert(XLOG_GIST_NSN) or something there? Inventing some other form of logging just because its an unlogged table seems like reinventing the wheel. Greetings, Andres Freund -- Andres Freund http://www.2ndQuadrant.com/ PostgreSQL Development, 24x7 Support, Training & Services