Mis*_*tyD 6 postgresql postgis
我想知道是否有办法确定在数据库上启用了 PostGis。
我正在尝试用我的开发机器复制我的生产服务器,但我不确定我的开发机器上的数据库是否启用了 PostGIS 或 postgis_topology 或两者。
我试图四处寻找解决方案,但什么也想不出来。
在这方面的任何建议都会有所帮助。
假设您可以访问您的数据库(通过终端或 pgadmin 应用程序),请尝试以下操作:
运行以下查询之一(如果您愿意,可以按顺序运行两者):
SELECT PostGIS_version();
SELECT PostGIS_full_version();
Run Code Online (Sandbox Code Playgroud)如果没有发生错误,那么您已为该数据库启用了 PostGIS。
小智 5
我只想补充约翰·穆塔菲斯的回应,因为目前我无法对答案发表评论。
我的情况有点不同,因为我postgis为不同的模式创建了扩展,我们称之为schema_name:
CREATE EXTENSION postgis SCHEMA schema_name
Run Code Online (Sandbox Code Playgroud)
只是运行接受的答案的查询给了我一个错误,指出“没有函数与给定的名称和参数类型匹配”。相反,我必须确保在函数调用之前添加架构名称,如下所示:
SELECT schema_name.PostGIS_version();
SELECT schema_name.PostGIS_full_version();
Run Code Online (Sandbox Code Playgroud)
这最终对我有用。
| 归档时间: |
|
| 查看次数: |
3719 次 |
| 最近记录: |