Re: Fixing the btree_gist inet mess - Mailing list pgsql-hackers

From Matthias van de Meent
Subject Re: Fixing the btree_gist inet mess
Date
Msg-id CAEze2WioR7AOx1oL9vp8HOEvZjiqsXYBTidpj8v-yBDExUA88A@mail.gmail.com
Whole thread Raw
In response to Re: Fixing the btree_gist inet mess  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-hackers
On Fri, 19 Dec 2025 at 19:27, Tom Lane <tgl@sss.pgh.pa.us> wrote:
>
> Here's a v2 patchset that tries to address all the discussion so far.

Thanks!

> [...]
> Because I didn't change DefineOpClass's behavior when
> !IsBinaryUpgrade, any attempt to install a pre-1.9 version of
> btree_gist will now fail.  So we could remove btree_gist--1.2.sql
> as well as btree_gist--1.0--1.1.sql and btree_gist--1.1--1.2.sql
> without cost.  (I've not done that here, as it would just bloat the
> patchset some more.)  However we should keep btree_gist--1.2--1.3.sql
> and later delta scripts, so that users can update old definitions of
> the module to 1.9 after a pg_upgrade.

That all seems reasonable, yes.

> One point perhaps worth mentioning here is that it works to
> copy btree_gist--1.8--1.9.sql into a v18 installation and
> issue
>         ALTER EXTENSION btree_gist UPDATE TO '1.9';
> after which pg_upgrade will let you upgrade your old indexes
> without complaint, because pg_dump will now do the right things.
> I did not document this because (a) it does not work in anything
> before v18 due to lack of btree_gist 1.8, and (b) we don't want
> to encourage people to stay on the old opclasses in v19.

Agreed.

>  But
> perhaps somebody would find a reason to want to do this.

Yes, perhaps. I also hope nobody needs to reach for this.

> I'd probably squash all this into one commit at the end, but
> I made it into several patches for review purposes.

LGTM.


Kind regards,

Matthias van de Meent
Databricks (https://www.databricks.com)



pgsql-hackers by date:

Previous
From: Masahiko Sawada
Date:
Subject: Re: Simplify code building the LR conflict messages
Next
From: Masahiko Sawada
Date:
Subject: Re: psql: Fix tab completion for VACUUM option values