错误:类型“public.geometry”不存在

Jih*_*cha 6 postgresql geometry postgis

我应该创建一个空间数据库并安装了 Postgres 并添加了 PostGIS 扩展。

当我尝试添加类型的列时,public.geometry它总是给出一条错误消息

几何类型不存在

我不熟悉 Postgres,我不知道可能的解决方案是什么。我试着用谷歌搜索但一无所获。

Cra*_*ger 14

你有CREATE EXTENSION postgis;吗?检查\dxpsql

您是否将 PostGIS 扩展放在其他一些模式中?检查\dT *.geometrypsql


Fab*_*adi 8

当您在目标数据库外部创建 postgis 扩展时,可能会发生这种情况,例如,您登录到数据库服务器而不指定数据库:

psql -h DB_HOST -U DB_USER 
CREATE EXTENSION postgis;
\q
<apply dump here>
Run Code Online (Sandbox Code Playgroud)

这发生在我身上。

修复:我需要从该空间中删除扩展,然后指定目标数据库,然后创建 postgis 扩展:

psql -h DB_HOST -U DB_USER DB_NAME
CREATE EXTENSION postgis;
\q
<apply dump here as DB_USER, onto DB_NAME>
Run Code Online (Sandbox Code Playgroud)