Получить версию PostGIS

Ответы:

334

Поскольку некоторые функции зависят от других библиотек, таких как GEOS и proj4, вы можете также получить их версии. Тогда используйте:

SELECT PostGIS_full_version();
Никлас Авен
источник
33

Вы пытались использовать SELECT PostGIS_version();

Джон Конли
источник
8
Внимание: PostGIS_version()выводит главную и вспомогательную версию (например, «2.1»), но не номер редакции (например, «2.1.4»), как PostGIS_full_version()и PostGIS_Lib_Version()делайте.
Шон Боб
10

Как указано выше, выберите 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, которые включены, если вы не установили пакет «все включено» - в частности, в GEOS есть некоторые поломки до 3.3.2 ( как отмечено в руководстве по postgis 2.0 ) в имея дело с геометрией справедливости.

Пит Кларк
источник
7

Другой способ получить минорную версию:

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.но этот работал. Проблема с вышеприведенным не работала была исправлена CREATE EXTENSION Postgisс помощью консоли, а не из db-migrate.js
Эрик Дарчис