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