What you used to know as geometry
was actually public.geometry
thanks to default search_path
setting (db setting, not an environment variable) of "$user", public
.
Whenever you referred to a table, type or anything without schema specified, Postgres first checked if there's a schema with the same name as your current user ("$user"
) and if that object is in there. Then it checked public
and since it's where PostGIS types and functions are by default, it worked. It actually also checks pg_catalog
for built-in stuff as well as session-specific pg_temp_nnn
where your temp
objects are.
Now that you renamed public
to Supervisorrrrr
, geometry
is no longer in any schema it's checking in search_path
list. You could run
select set_config( 'search_path'
,(current_setting('search_path')||', "Supervisorrrrr"')
,false);
But it's best you change it back to avoid breaking other things.
alter schema "Supervisorrrrr" rename to public;
If you want to move out your things from public
, run a series of alter
s:
create schema "Supervisorrrrr";
alter table public.your_table set schema "Supervisorrrrr";
alter view public.your_view set schema "Supervisorrrrr";
To keep things tidy (-er/-ish) in the future, you could