Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1vEPvA-00BRae-UD for pgsql-bugs@arkaria.postgresql.org; Thu, 30 Oct 2025 10:30:20 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.94.2) (envelope-from ) id 1vEPv9-007Ta6-Rb for pgsql-bugs@arkaria.postgresql.org; Thu, 30 Oct 2025 10:30:18 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1vEPv9-007TZx-IN for pgsql-bugs@lists.postgresql.org; Thu, 30 Oct 2025 10:30:18 +0000 Received: from mail-ej1-x636.google.com ([2a00:1450:4864:20::636]) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.96) (envelope-from ) id 1vEPv6-0053DR-1G for pgsql-bugs@lists.postgresql.org; Thu, 30 Oct 2025 10:30:18 +0000 Received: by mail-ej1-x636.google.com with SMTP id a640c23a62f3a-b6d70df0851so183967766b.1 for ; Thu, 30 Oct 2025 03:30:16 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cybertec.at; s=google; t=1761820214; x=1762425014; darn=lists.postgresql.org; h=mime-version:user-agent:content-transfer-encoding:references :in-reply-to:date:cc:to:from:subject:message-id:from:to:cc:subject :date:message-id:reply-to; bh=FU+YE0BZKQmm3xHqxU9W1RcawrJ6dwsxy6LJhOQ5H0c=; b=QdiQixdB72QaM1/HChk28XwzgoG1c0g3eKUzHIKEwV7KV5YP0W01QtdC9jOy07DH5s R7iQQwdKOneE9usvPZvdo+FzeDJ9/ZSyjfbd8mFAamo7BVfvlzEd/BoWvYH9vAnSN5cO cfXKmvRyKlfpOEot20GlJ6pt4ZtNpQJsMbhrxbVheKIyHVgIbLlt2H2OIFiqODOuEIZk DgnSIKH+f9tw1eD/pk3kcopE8PUC6cXAKvnP1F9c6BOmA/0WoBAJYWz4KagjmPMbnoze BrdqFvYsUK/BzGPzqnPb0TTOjmkUqjTsgX+7VA0p2Yl8AVGpzc5/BYfkpwzEv8q9uC5P 9Iyw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1761820214; x=1762425014; h=mime-version:user-agent:content-transfer-encoding:references :in-reply-to:date:cc:to:from:subject:message-id:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=FU+YE0BZKQmm3xHqxU9W1RcawrJ6dwsxy6LJhOQ5H0c=; b=YcJWypvakCPIeZQnNRwN/w9xkPXVVFLj5Wzo01WFUCitguia8q/AEtmlVAHtGK9ybr E+WLYEqfTSsdZPSYwFcMiodFQokBUp5w+jsmOx0VSPfHF08oIMRnLG3oBtbR5yh4DdZF uaCURfXt2xXZZUyhNrTMGGapK5YD2JzArW0dvTdD9IpeZkaJ68PcEE7ruwfs8zv3MC5G LKbj9PZOSny/wzve8GOlwRJfLr6j0xcnEqQ+1oaAwLCqaVuqrF124ndaP+ER4qrw2w96 HZVFhm8dDEMAwGfNY+uhXk4c6QxrIHYty6LIz0Ns4zGWFqYLJhdqxhN1bMLEFlPorRDX L4cA== X-Forwarded-Encrypted: i=1; AJvYcCVtrA5B3sJMQU05d79tHLdpDGVoLsvf+IWcTeMAvfwMYHcjSxiREft2ZX23ZBaQy0j4C/fCLCzQwCrB@lists.postgresql.org X-Gm-Message-State: AOJu0YwOXvPTgVbHloXA33EYeqUuyn2QKYHiaHuUef2QJQAYg6V7BkYC Vk+jlx59q1tYoEpv9D+ocEIjKMm/SrXsXqA2fjVlrPu3ae1BxtqGaF9D0tI4yAiCOqE= X-Gm-Gg: ASbGncvzH/KJQP1Tw1XmVYiZGNoshiXduxZBDnLSWXHMgEp9lAn9gKrpB9sAsQNxRkP l4Vsw1P8deBfrVdLiw5/0AbxSkk3v1pf/MUS23YyNX9g1SJaB5yHwHPifqfDYZmKS79YeZgeQ2H QF7PggSY9B+jyhZKRM5jTGMN02IrGeFocQNay1Re1KrQRlT77QsHnjrzi95DGGtz0qE2bJP+Lzp bTiPWxfz0fV7RjBLXhPzfDD6YzMku22gVCjRou4HCqRNlXfqo6SAF6TXl6h2NV1WuiR2eWaqhHn nbzTzrYGFWTldKsP6fKapAkmUutrNCEAyGAMfuQn9sr37UpQ7ywhTs/d/y2oiQPF8LudjiFv86f 9Rw78w/aVIOO7zMOX4ARMCnuRuhq4QTKdpKa5/S/JlDHUpnLUeFRVML4tGJJ7Rc/Fi/WFb9Cx3P voMdcTBblB+hdCrUMwZqG3Bjt6/9kZ X-Google-Smtp-Source: AGHT+IHsV4CMOFqu8J4RZZUmhGZuiJYoHcizdR62SQbe1tQ+cOa1jEG8zcZZEHBQFnDvolggGyt6qg== X-Received: by 2002:a17:907:da4:b0:b3c:364d:b884 with SMTP id a640c23a62f3a-b7053f365d1mr281699166b.63.1761820214234; Thu, 30 Oct 2025 03:30:14 -0700 (PDT) Received: from laurenz.albe-K4N0CV00F97414D ([2001:871:260:3448:be1a:44:7171:3d57]) by smtp.gmail.com with ESMTPSA id 4fb4d7f45d1cf-640342e5acesm6219295a12.28.2025.10.30.03.30.13 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 30 Oct 2025 03:30:13 -0700 (PDT) Message-ID: <0e8907d8a0cb19b64d732ec7b44f8eb669b54075.camel@cybertec.at> Subject: Re: BUG #19098: Can't create unique gist index, where pg_indexes says that WITHOUT OVERLAPS does exacly that From: Laurenz Albe To: Paul A Jungwirth , Tom Lane Cc: n.bartek3762@gmail.com, pgsql-bugs@lists.postgresql.org, Peter Eisentraut , Matthias van de Meent Date: Thu, 30 Oct 2025 11:30:13 +0100 In-Reply-To: References: <19098-7f8deb5093c13da2@postgresql.org> <11e73b0d2d89476fb04e6055a80638f776bb6f18.camel@cybertec.at> <2748212.1761750444@sss.pgh.pa.us> <2750966.1761751813@sss.pgh.pa.us> Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable User-Agent: Evolution 3.56.2 (3.56.2-2.fc42) MIME-Version: 1.0 List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk On Wed, 2025-10-29 at 11:51 -0700, Paul A Jungwirth wrote: > So here is a proposed sequence of work: >=20 > - Add an opclass_parameter so you can say without_overlaps =3D true. > Only the last column of the index allows that (at least for now), and > there must be an overlaps operator. > - If an index has that property, enforce the exclusion constraint > rules and forbid empty ranges/multiranges. > - Update pg_get_indexdef to output the right syntax to create an > independent temporal index. > - Allow USING INDEX for WITHOUT OVERLAPS. It must be a temporal index. > - Support can_unique in GiST indexes using CompareType. (Perhaps this > is of low practical value, but the discrepancies bug me.) > - Add can_temporal to index AMs. Make GiST report true. Check this > property instead of hard-coding GiST in our WITHOUT OVERLAPS code. > - Support reindexing these indexes concurrently. (I'm not signing up > for this just yet, but maybe someday.) > - Support creating these indexes concurrently. (I'm not signing up for > this just yet, but maybe someday.) That's perhaps a good way for the future, but the cat is already out of the bag. Do you have any ideas what to do about v18? Yours, Laurenz Albe