Re: BUG #19098: Can't create unique gist index, where pg_indexes says that WITHOUT OVERLAPS does exacly that

From: Laurenz Albe <laurenz(dot)albe(at)cybertec(dot)at>
To: n(dot)bartek3762(at)gmail(dot)com, pgsql-bugs(at)lists(dot)postgresql(dot)org
Subject: Re: BUG #19098: Can't create unique gist index, where pg_indexes says that WITHOUT OVERLAPS does exacly that
Date: 2025-10-29 11:31:13
Message-ID: 11e73b0d2d89476fb04e6055a80638f776bb6f18.camel@cybertec.at
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgsql-bugs

On Wed, 2025-10-29 at 09:54 +0000, PG Bug reporting form wrote:
> PostgreSQL version: 18.0
>
> Using unique constraint, at Postgres 18, I am able to use `WITHOUT OVERLAPS`
> using that, in fact I created index, that I can see at pg_indexes:
> `CREATE UNIQUE INDEX inventoryoffer_unique_index ON public.test_table USING
> gist (inventory_id, account_id, from_offer_id, for_account_id,
> _availability_range);`
> It says, that it is gist UNIQUE index.
> But if I would like to just create index like that (copy and paste that
> definition from pg_indexes)
> I am getting error:
> [0A000] ERROR: access method "gist" does not support unique indexes
> which sounds weird, in fact of `WITHOUT OVERLAPS` existence

I think I see what you mean:

CREATE TABLE temp (
id bigint NOT NULL,
valid tstzrange NOT NULL,
CONSTRAINT temp_pkey PRIMARY KEY (id, valid WITHOUT OVERLAPS)
);

SELECT pg_get_indexdef('temp_pkey'::regclass);

pg_get_indexdef
----------------------------------------------------------------------
CREATE UNIQUE INDEX temp_pkey ON laurenz.temp USING gist (id, valid)

That CREATE INDEX statement won't work.

Yours,
Laurenz Albe

In response to

Responses

Browse pgsql-bugs by date

  From Date Subject
Next Message Kirill Reshke 2025-10-29 11:31:39 Re: BUG #19097: System catalog modifications are allowed by alter
Previous Message PG Bug reporting form 2025-10-29 09:54:24 BUG #19098: Can't create unique gist index, where pg_indexes says that WITHOUT OVERLAPS does exacly that