【发布时间】:2016-11-21 02:15:15
【问题描述】:
我应该创建一个空间数据库并安装 Postgres 并添加 PostGIS 扩展。
当我尝试添加public.geometry 类型的列时,它总是会给出一条错误消息
几何类型不存在
我不熟悉 Postgres,也不知道可能的解决方案是什么。我尝试用 Google 搜索,但一无所获。
【问题讨论】:
标签: postgresql geometry postgis
我应该创建一个空间数据库并安装 Postgres 并添加 PostGIS 扩展。
当我尝试添加public.geometry 类型的列时,它总是会给出一条错误消息
几何类型不存在
我不熟悉 Postgres,也不知道可能的解决方案是什么。我尝试用 Google 搜索,但一无所获。
【问题讨论】:
标签: postgresql geometry postgis
你CREATE EXTENSION postgis; 了吗?在psql 中检查\dx。
您是否将 PostGIS 扩展程序放在其他架构中?在psql 中检查\dT *.geometry。
【讨论】:
当您在目标数据库之外创建 postgis 扩展时,可能会发生这种情况,例如,您在未指定数据库的情况下登录到数据库服务器:
psql -h DB_HOST -U DB_USER
CREATE EXTENSION postgis;
\q
<apply dump here>
这发生在我身上。
修复:我需要从这个空间中删除扩展,然后指定目标数据库,然后创建 postgis 扩展:
psql -h DB_HOST -U DB_USER DB_NAME
CREATE EXTENSION postgis;
\q
<apply dump here as DB_USER, onto DB_NAME>
【讨论】: