获取 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 版本的主要内容,如果未能解决你的问题,请参考以下文章