<div dir="ltr">Well, unfortunately none of that works.<div><br><div>I spent a few hours digging in pg_catalog oids and trying to REINDEX everything: DB, TABLES, indexes directly. Nothing helps.</div><div>I tried to change the extension name in pg_extension and then change it back - that didn't help.</div><div>And then I found a solution:</div><div><br></div><div>1. rename postgis to something else in pg_extension</div><div>2. RUN THE BUGGY SQL - it works!</div><div>3. rename extension back to postgis</div><div>4. Run the code - it stil works!</div><div><br></div><div>Problem solved. 2nd step is mandatory.</div><div>It seems all one need is to force execution flow in this if expression<br>```<br>Oid ext_oid = get_extension_oid("postgis", true);<br> if (ext_oid != InvalidOid)<br> {<br> nsp_oid = postgis_get_extension_schema(ext_oid);<br> }<br> else<br> {<br> nsp_oid = postgis_get_full_version_schema();<br> }<br>```<br>to reach postgis_get_full_version_schema() instead of postgis_get_extension_schema() at least once. And this fixes the problem in scope of the current db for some reason....</div><div><br></div></div></div><br><div class="gmail_quote gmail_quote_container"><div dir="ltr" class="gmail_attr">пт, 25 июл. 2025 г. в 20:45, Erik Wienhold <<a href="mailto:ewie@ewie.name">ewie@ewie.name</a>>:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">On 2025-07-25 15:53 +0200, Alexander Trufanov wrote:<br>
> >Can you please check which namespaces PostGIS finds with these two<br>
> queries:<br>
> > SELECT extnamespace::regnamespace FROM pg_extension WHERE extname =<br>
> 'postgis';<br>
> > SELECT pronamespace::regnamespace FROM pg_proc WHERE proname =<br>
> 'postgis_full_version';<br>
> <br>
> Both return "public".<br>
> <br>
> The full result record from pg_extension is<br>
> <a href="https://pastebin.com/raw/6mwrGhmH" rel="noreferrer" target="_blank">https://pastebin.com/raw/6mwrGhmH</a><br>
> For pg_proc it's: <a href="https://pastebin.com/a4pTVs9U" rel="noreferrer" target="_blank">https://pastebin.com/a4pTVs9U</a><br>
<br>
I wouldn't rule out an index corruption in pg_catalog. PostGIS gets the<br>
extension namespace by first getting the OID of extension "postgis" and<br>
then looking up the pg_extension row with that OID. Maybe index<br>
"pg_extension_oid_index" is corrupted.<br>
<br>
Can you fix it by rebuilding the catalog indexes?:<br>
<br>
REINDEX SCHEMA pg_catalog;<br>
<br>
-- <br>
Erik Wienhold<br>
</blockquote></div><div><br clear="all"></div><div><br></div><span class="gmail_signature_prefix">-- </span><br><div dir="ltr" class="gmail_signature">With best regards,<br>Alexander Trufanov</div>