On Wed, Aug 20, 2025 at 9:39 AM Adrian Klaver <adrian.kla...@aklaver.com> wrote: > > On 8/20/25 05:50, Achilleas Mantzios wrote: > > pg_restore: from TOC entry 4295; 1255 596569951 FUNCTION > > gist_stratnum_btree(integer) postgres > > pg_restore: error: could not execute query: ERROR: could not find > > function "gist_stratnum_btree" in file "/usr/local/pgsql/lib/btree_gist.so" > > Command was: CREATE FUNCTION "public"."gist_stratnum_btree"(integer) > > RETURNS smallint > > LANGUAGE "c" IMMUTABLE STRICT PARALLEL SAFE > > AS '$libdir/btree_gist', 'gist_stratnum_btree'; > > I can not find gist_stratnum_btree in: > > https://www.postgresql.org/docs/18/btree-gist.html > > or in the source. > > How did it end up in the database?
gist_stratnum_btree was in beta1 but was renamed to gist_translate_cmptype_btree by 32edf732e8dc9eb3e7a923aeb67d49246744a20a. > > The solution was to somehow restart 18beta1, drop btree_gist and all its > > dependent constraints / indexes / objects , pg_upgrade and finally re- > > create extension and dependent objects. > > Something more then DROP EXTENSION/CREATE EXTENSION btree_gist? That seems like the easiest fix to me. But if you've built indexes based on those opclasses then more work is required, as here. I don't know what pg_upgrade tries to support for moving from one beta release to another. Is this something we should try to fix? Yours, -- Paul ~{:-) p...@illuminatedcomputing.com