Re: int8range and index usage for <@ operator

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

From: Tom Lane <tgl@sss.pgh.pa.us>
To: KOPOSOV Sergey <Sergey.Koposov@ed.ac.uk>
Cc: "pgsql-general@lists.postgresql.org" <pgsql-general@lists.postgresql.org>
Date: 2022-04-28T16:57:39Z
Lists: pgsql-general
KOPOSOV Sergey <Sergey.Koposov@ed.ac.uk> writes:
> I'm trying to understand to is there a possibility to use an index for PG
> when I have a integer column in a table and I want to execute queries with this
> integer_column <@ int8range
> or
> integer_column  <@ int8multirange
> in a where clause

There's no support for that at the moment.  In principle the range
case could be converted to something like "integer_column >= lower_value
AND integer_column <= upper_value" by attaching a support function to
<@ and implementing the SupportRequestIndexCondition API.  I think it
could only work for a plan-time-constant range though, else you'd not know
whether to use equality or inequality bounds.  (Hmm ... or maybe, use
equality always and treat it as a lossy conversion?  But infinite bounds
would still be a headache.)

			regards, tom lane