获取 PostGIS 版本

Posted

技术标签:

【中文标题】获取 PostGIS 版本【英文标题】:Get PostGIS version 【发布时间】:2011-06-17 12:35:46 【问题描述】:

如何知道我拥有的是哪个版本的 PostGIS?

【问题讨论】:

【参考方案1】:

由于某些函数依赖于 GEOS 和 proj4 等其他库,您可能也希望获得它们的版本。然后使用:

SELECT PostGIS_full_version();

【讨论】:

【参考方案2】:

您是否尝试过使用SELECT PostGIS_version();

【讨论】:

警告:PostGIS_version() 输出主要和次要版本(例如,“2.1”),但不输出修订号(例如,“2.1.4”),例如 PostGIS_full_version()PostGIS_Lib_Version()做。【参考方案3】:

PostGIS_Lib_Version(); - 返回 PostGIS 库的版本号。

http://postgis.refractions.net/docs/PostGIS_Lib_Version.html

【讨论】:

【参考方案4】:

正如上面的人所说,选择 PostGIS_full_version();会回答你的问题。在我的机器上,我从主干运行 PostGIS 2.0,我得到以下输出:

postgres=# select PostGIS_full_version();
postgis_full_version                                                                  
-------------------------------------------------------------------------------------------------------------------------------------------------------
POSTGIS="2.0.0alpha4SVN" GEOS="3.3.2-CAPI-1.7.2" PROJ="Rel. 4.7.1, 23 September 2009" GDAL="GDAL 1.8.1, released 2011/07/09" LIBXML="2.7.3" USE_STATS
(1 row)

如果您没有安装包罗万象的软件包,您确实需要关心所包含的 PROJ 和 GEOS 的版本 - 特别是在 3.3.2 (as noted in the postgis 2.0 manual) 之前的 GEOS 在处理方面存在一些问题具有几何有效性。

【讨论】:

【参考方案5】:

获取次要版本的其他方法是:

SELECT extversion
FROM pg_catalog.pg_extension
WHERE extname='postgis'

【讨论】:

上述方法给了我No function matches the given name and argument types. You might need to add explicit type casts.,但这个有效。通过从控制台而不是从 db-migrate.js 执行 CREATE EXTENSION Postgis 解决了上述不工作的问题

以上是关于获取 PostGIS 版本的主要内容,如果未能解决你的问题,请参考以下文章

postgis版本升级

postgis版本升级

postgis版本升级

postgis经常使用函数介绍

postgresql与postgis结合示例

POSTGIS的版本都有哪些?