Re: pgsql: Trial fix for old cross-version upgrades. - Mailing list pgsql-committers

From Jeff Davis
Subject Re: pgsql: Trial fix for old cross-version upgrades.
Date
Msg-id ad4f7823df09d4a7428dd400482eca1856a2fe5a.camel@j-davis.com
Whole thread Raw
In response to Re: pgsql: Trial fix for old cross-version upgrades.  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-committers
On Sat, 2025-02-22 at 21:48 -0500, Tom Lane wrote:
> CREATE INDEX vcharidx ON vchartmp USING GIST ( text(a) );
>
> The index column will be given the name "text".  However, it
> dumps as
>
> CREATE INDEX vcharidx ON public.vchartmp USING gist (((a)::text));

Thank you! I dismissed the naming issue too early, going down the path
of something related to GiST.

> and when *that* gets loaded, the index column is given the name
> "a", because FigureColname treats function-like constructs
> differently from cast-like constructs.

Ugh.

> We have dealt with some similar issues in the past, and the
> solution was to allow index columns to be referenced by
> column number not name.  (ALTER INDEX ... ALTER COLUMN ...
> SET STATISTICS does that, not sure if there are other places.)
> Recommend adopting the same solution here.

I'll submit a patch to the -hackers thread. There are a few minor
choices here that might get some discussion.

Regards,
    Jeff Davis




pgsql-committers by date:

Previous
From: Daniel Gustafsson
Date:
Subject: pgsql: pg_amcheck: PQclear query results
Next
From: Tom Lane
Date:
Subject: pgsql: Fix confusion about data type of pg_class.relpages and relallvis