Re: Avoid full GIN index scan when possible

Alvaro Herrera <alvherre@2ndquadrant.com>

From: Alvaro Herrera <alvherre@2ndquadrant.com>
To: Tom Lane <tgl@sss.pgh.pa.us>
Cc: Nikita Glukhov <n.gluhov@postgrespro.ru>, Alexander Korotkov <a.korotkov@postgrespro.ru>, Julien Rouhaud <rjuju123@gmail.com>, PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>, Thomas Munro <thomas.munro@gmail.com>, Marc Cousin <cousinmarc@gmail.com>, Tomas Vondra <tomas.vondra@2ndquadrant.com>
Date: 2019-09-02T22:20:01Z
Lists: pgsql-hackers
On 2019-Aug-07, Tom Lane wrote:

> I think this would be committable as it stands, except that replacing
> an ALL scan with an EVERYTHING scan could be a performance regression
> if the index contains many null items.  We need to do something about
> that before committing.

Nikita, any word on getting this change done?

> Unfortunately I'm not sold on either 0002 or 0003 as they stand;
> they seem overly complicated, I'm not convinced they're correct,
> and you haven't really provided examples showing that all this
> extra complexity is worthwhile.

I suppose we should call ourselves satisfied if we get 0001 done during
this cycle (or at least this commitfest).  Further refinement can be had
in the future, as needed -- even within pg13, if Nikita or anybody else
wants to tackle Tom's suggested approaches (or something completely new,
or just contest Tom's points) quickly enough.  But I don't think we need
that in order to call this CF entry committed.

-- 
Álvaro Herrera                https://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services



Commits

  1. Avoid full scan of GIN indexes when possible