Obtenez la version PostGIS

216

Comment savoir quelle version de PostGIS je possède?

Jason Swett
la source

Réponses:

334

Étant donné que certaines fonctions dépendent d'autres bibliothèques comme GEOS et proj4, vous voudrez peut-être également obtenir leurs versions. Utilisez ensuite:

SELECT PostGIS_full_version();
Nicklas Avén
la source
33

Avez-vous essayé d'utiliser SELECT PostGIS_version();

Jon Conley
la source
8
Attention: PostGIS_version()affiche la version majeure et mineure (par exemple, "2.1"), mais pas le numéro de révision (par exemple, "2.1.4"), comme PostGIS_full_version()et PostGIS_Lib_Version()faites.
Sean the Bean
10

Comme indiqué ci-dessus, sélectionnez PostGIS_full_version (); répondra à votre question. Sur ma machine, où j'exécute PostGIS 2.0 à partir du tronc, j'obtiens la sortie suivante:

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)

Vous devez vous soucier des versions de PROJ et GEOS qui sont incluses si vous n'avez pas installé un package tout compris - en particulier, il y a une certaine rupture dans GEOS avant 3.3.2 ( comme indiqué dans le manuel postgis 2.0 ) dans traitant de la validité de la géométrie.

Pete Clark
la source
7

Une autre façon d'obtenir la version mineure est:

SELECT extversion
FROM pg_catalog.pg_extension
WHERE extname='postgis'
Matias Barone
la source
Les méthodes ci-dessus m'ont donné No function matches the given name and argument types. You might need to add explicit type casts.mais celui-ci a fonctionné. Le problème avec ce qui précède ne fonctionnait pas a été résolu en faisant le CREATE EXTENSION Postgisdepuis la console plutôt que depuis le db-migrate.js
Eric Darchis