2011-01-28 76 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