From: Laurenz Albe <laurenz.albe@cybertec.at>
To: n.bartek3762@gmail.com
To: pgsql-bugs@lists.postgresql.org
Subject: Re: BUG #19098: Can't create unique gist index, where pg_indexes says that WITHOUT OVERLAPS does exacly that
Date: Wed, 29 Oct 2025 12:31:13 +0100
Message-ID: <11e73b0d2d89476fb04e6055a80638f776bb6f18.camel@cybertec.at> (raw)
In-Reply-To: <19098-7f8deb5093c13da2@postgresql.org>
References: <19098-7f8deb5093c13da2@postgresql.org>
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
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Reply to all the recipients using the --to and --cc options:
reply via email
To: pgsql-bugs@postgresql.org
Cc: laurenz.albe@cybertec.at, n.bartek3762@gmail.com, pgsql-bugs@lists.postgresql.org
Subject: Re: BUG #19098: Can't create unique gist index, where pg_indexes says that WITHOUT OVERLAPS does exacly that
In-Reply-To: <11e73b0d2d89476fb04e6055a80638f776bb6f18.camel@cybertec.at>
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox