I have a local Postgres 9.5 with Postgis 2.3.2 installation. I can confirm Postgis is indeed installed when I watch the extensions, it is installed in the public schema, my application uses a different schema. The search_path for the database is "$user", public, topology
All the spatial stuff seems to work in the database itself (I have several views that use functions and tables that have spatial data types), however when my application hits something with a spatial type in it, I get the error "type “geometry” does not exist".
The weird thing is that I do not have this problem with my staging and production environment. They run on Postgres 9.4 with Postgis 2.2 installed. Here the Postgis extension is also allocated to the public schema.
One big difference I found between the two is that 2.3 is not reallocatable anymore. So I cannot set it to a different target schema.
I did a check with a new Postgres 9.4 with 2.2.5 Postgis install (allocated to the public schema at first). I did get the error message, and when I reallocated the postgis extension to the schema my app uses, the error goes away.
How can I fix this for my 9.5 install without reinstalling it entirely?