【问题标题】:How to determine if postgis is enabled on a database?如何确定是否在数据库上启用了 postgis?
【发布时间】:2019-04-27 00:22:40
【问题描述】:

我想知道是否有办法确定在数据库上启用了 PostGis。

我正在尝试使用我的开发机器复制我的生产服务器,但我不确定我的开发机器上的数据库是否启用了 PostGIS 或 postgis_topology 或两者。

我试图四处寻找解决方案,但无法提出任何建议。
这方面的任何建议都会有所帮助。

【问题讨论】:

标签: postgresql postgis


【解决方案1】:

假设您可以访问您的数据库(通过终端或 pgadmin 应用程序),请尝试以下操作:

  1. 连接到您的数据库
  2. 运行以下查询之一(或按顺序运行):

    SELECT PostGIS_version();
    SELECT PostGIS_full_version();
    

如果没有发生错误,那么您为该数据库启用了 PostGIS。


参考:

【讨论】:

    【解决方案2】:

    我只想补充 John Moutafis 的回复,因为此时我无法对答案发表评论。

    我的情况有点不同,因为我为不同的架构创建了 postgis 扩展,我们称之为 schema_name

    CREATE EXTENSION postgis SCHEMA schema_name
    

    刚刚运行接受的答案的查询给了我一个错误,指出“没有函数与给定的名称和参数类型匹配”。相反,我必须确保在函数调用之前添加架构名称,如下所示:

    SELECT schema_name.PostGIS_version();
    SELECT schema_name.PostGIS_full_version();
    

    这最终对我有用。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-05-11
      • 1970-01-01
      • 1970-01-01
      • 2016-02-27
      • 2011-11-21
      • 1970-01-01
      • 2011-04-16
      相关资源
      最近更新 更多