2011-01-28 53 views

回答

255

由于某些功能依赖于像GEOS其他图书馆和proj4你可能希望得到他们的版本太多。然后使用:

SELECT PostGIS_full_version(); 
30

你有没有尝试使用SELECT PostGIS_version();

+4

注意:`PostGIS_version()`输出的主要和次要版本(例如 “2.1”),但不包括版本号(例如“2.1.4”),像PostGIS_full_version()和PostGIS_Lib_Version()一样。 – 2015-01-26 17:59:39

8

正如上面的人所说的,选择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之前的GEOS(as noted in the postgis 2.0 manual)在处理几何有效性方面存在一些破坏。

4

其他方式来获得较小的版本是:

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

上面的方法给了我`没有函数匹配给定的名称和参数类型。你可能需要添加明确的类型转换。“但这个工作。上述不工作的问题通过从控制台执行CREATE EXTENSION Postgis而不是从db-migrate.js中修复 – 2016-09-16 09:55:09