Re: MaxOffsetNumber for Table AMs

From: Jeff Davis <pgsql(at)j-davis(dot)com>
To: Peter Geoghegan <pg(at)bowt(dot)ie>
Cc: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, PostgreSQL Hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: MaxOffsetNumber for Table AMs
Date: 2021-05-05 01:18:45
Message-ID: e9a5c6c0fb51f1d16e10819f252d15a0de8488fa.camel@j-davis.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Tue, 2021-05-04 at 13:51 -0700, Peter Geoghegan wrote:
> I think maybe it is possible for GIN to work with your column store
> table AM in particular. Why aren't we talking about that concrete
> issue, or something like that?

Happy to.

At this point I'd rather obey the constraint that the offset number
falls in the range [1, MaxHeapTuplesPerPage] so that columnar will have
bitmap index scans and GIN. If you see a way to work around this
limitation and still have GIN and bitmap index support, so much the
better.

The cost of obeying this limitation is that, in a workload involving
lots of small transactions, columnar might run out of TID space and
force a VACUUM FULL. In that case, VACUUM FULL is probably a good idea
anyway (to coalesce the tuples for better compression), but forcing it
is obviously not ideal. The reason columnar will run out of TID space
more quickly for small operations is because small inserts might
reserve more TIDs then they actually use, leaving gaps; and small
updates/deletes will fragment the TID space.

The benefit of obeying this limitation is that I expect that bitmap
index scans will work well with columnar because they avoid random
access. And it seems like a nice benefit if we can support the full
range of index AMs for columnar.

> I don't get what the point of this patch is. Obviously all of the
> particulars here are just accidents of history that we ought to
> change
> sooner or later anyway.

The point is if "sooner" turns into "later" then we at least have some
guidance for table AM authors in the interim. But if nobody else thinks
that's useful, then so be it.

Regards,
Jeff Davis

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Peter Geoghegan 2021-05-05 01:24:27 Re: MaxOffsetNumber for Table AMs
Previous Message Craig Ringer 2021-05-05 01:15:11 Re: [PATCH] Identify LWLocks in tracepoints