【问题标题】:PostGIS Error: type "geography" does not existPostGIS 错误:类型“地理”不存在
【发布时间】:2011-10-23 12:09:48
【问题描述】:

我刚刚将我的开发机器升级到 Windows 7,因此正在重新安装 PostgreSQL 和 PostGIS。我按照 Postgres 网站上的建议使用了 Postgres Plus installer,然后按照 this tutorial 进行安装。我使用 template_postgis 创建了一个数据库,我目前正在开发的应用程序能够毫无问题地连接到数据库。

但是,我的旧代码无法像以前那样使用 PostGIS Geography 创建表。例如,当我尝试创建下表时:

CREATE TABLE test_area (
    id SERIAL PRIMARY KEY,
    name VARCHAR(1000),
    area GEOGRAPHY(POLYGON, 4326),
    start_time DATE,
    end_time DATE
)

我收到以下错误:

ERROR:  type "geography" does not exist
LINE 4:         area GEOGRAPHY(POLYGON, 4326),
                     ^

如果我在 pgAdmin III 的对象浏览器中查看数据库,我看到一堆Geometry 函数,所以安装似乎运行正常。我不确定我的问题可能是什么。安装程序是否可以只安装 PostGIS Geometry,而不安装 Geography

【问题讨论】:

    标签: postgresql postgis


    【解决方案1】:

    我以前也遇到过这个问题,但帮助我的不是 GIS 网站上的答案。

    我通过 Homebrew 安装了 Postgresql,还安装了 Postgresql 应用程序。但是,对于 PostGIS,我是通过 Homebrew 安装的。

    当我遇到这个问题时,我是在运行 Postgresql 应用程序而不是在终端中运行它,所以你当然会收到这个 PostGIS 错误,因为 PostGIS 从未安装在 Postgresql 应用程序上。一旦我在终端中启动 Postgresql,它就对我有用。

    2014 年 9 月 25 日更新:

    您可能没有在数据库中创建 PostGIS 扩展:

    $ psql
    
    psql> \c databaseName;
    
    psql> CREATE EXTENSION Postgis;
    

    【讨论】:

      【解决方案2】:

      可能postgis有问题,先看看“geography”这个类型是否存在? 如下所示;

      db_lbs=> \dT 地理

              List of data types
       Schema |   Name    | Description 
      --------+-----------+-------------
       lbs    | geography | 
      (1 row)
      

      顺便请注意当前的search_path;

      我猜你的架构中不存在“地理”类型,它可能存在于公共架构中, 所以先检查一下。

      【讨论】:

        【解决方案3】:

        我在GIS site 上回答了我的问题。我安装了 PostGIS 1.4,但直到 PostGIS 1.5 才添加 Geography。所以我不得不卸载我所拥有的并重新安装 Postgres。不过,我很难找到包含 PostGIS 1.5 的版本。不过,有人建议我不要使用“Postgres Plus”专有软件,因为 EnterpriseDB 需要时间来移植最新的附加组件等。相反,我被重定向到 EnterpriseDB 网站上的常规 PostgreSQL 下载,这令人惊讶地难以找到。 Here it is。 PostGIS 没有附带 64 位版本,所以我不得不改用 32 位版本,这很有效。终于!

        【讨论】:

          【解决方案4】:

          我遇到了同样的问题,我通过卸载 postgres、postgis 并重新安装,然后按照官方安装文档解决了这个问题。 对于窗户:

          http://postgis.net/windows_downloads

          对于 Ubuntu 和 OSX:

          http://postgis.net/install

          【讨论】:

            【解决方案5】:

            如果有人在连接到使用 Qurkus 编写的 Heroku 应用程序时遇到同样的错误,修复方法如下——需要将 ?currentSchema=YOUR_CURRENT_SCHEMA 附加到 JDBC URI

            【讨论】:

              猜你喜欢
              • 2019-11-02
              • 1970-01-01
              • 2011-09-20
              • 2023-03-29
              • 2020-10-28
              • 1970-01-01
              • 2011-10-14
              • 2014-10-06
              • 2012-06-26
              相关资源
              最近更新 更多