我怎样才能知道我使用的是哪个版本的PostGIS ?


当前回答

如上所述,选择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(如postgis 2.0手册中所述)存在一些缺陷。

其他回答

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

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

获得次要版本的另一种方法是:

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

如上所述,选择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(如postgis 2.0手册中所述)存在一些缺陷。

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

SELECT PostGIS_full_version();

使用 选择PostGIS_version ();