【问题标题】:ERROR: type "public.geometry" does not exist错误:类型“public.geometry”不存在
【发布时间】:2016-11-21 02:15:15
【问题描述】:

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

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

几何类型不存在

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

【问题讨论】:

    标签: postgresql geometry postgis


    【解决方案1】:

    CREATE EXTENSION postgis; 了吗?在psql 中检查\dx

    您是否将 PostGIS 扩展程序放在其他架构中?在psql 中检查\dT *.geometry

    【讨论】:

    • 是的克雷格,扩展已经创建,还有什么其他模式?我只在我的数据库中添加了 postGIS 扩展
    • 请在 psql 中运行上面显示的确切命令并编辑您的问题以显示输出。
    • 问题已经解决了,非常感谢您的帮助,问题不在 PostGis 扩展,问题实际上是在 PGAdmin 4,这个版本没有t 支持几何类型,但是当我从 查询工具 创建表时,它运行得非常好!!
    【解决方案2】:

    当您在目标数据库之外创建 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>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-01-21
      • 1970-01-01
      • 2021-02-28
      • 1970-01-01
      相关资源
      最近更新 更多