2016-06-10 11 views
0

Ich bin bewusst, this Frage, die über die Verwendung von SELECT PostGIS_full_version(); spricht, aber dies erfordert eine Datenbank, auf der die Postgis-Erweiterung installiert ist.Überprüfen Postgis-Version ohne Erstellen von Datenbank

Ich benutze ein Fabric, um ein Programm zu schreiben, um zu überprüfen, ob Postgis (über einer bestimmten Version) auf einem Server installiert ist und wenn nicht, installieren Sie es. Ist das möglich?

Antwort

1

Jeder Postgres-Server enthält eine Datenbank namens postgres.

Sie können eine Verbindung zu dieser Datenbank herstellen und die Tabellen pg_available_extensions oder pg_available_extension_versions abfragen, um zu sehen, welche Versionen von PostGIS auf dem Server installiert sind.

0

Sie können auf die Postgres-Datenbank (erstellt, wenn postgresql installiert ist) verbinden und

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

ausführen Wenn Sie ein Ergebnis bekommen, wird es die postgis Version.

+0

'pg_extension' zeigt nur die Erweiterungen, die in dieser bestimmten Datenbank installiert sind. Für die Postgres-Datenbank wird es außer "plpgsql" im Allgemeinen nichts geben. –

+0

In allen Installationen, die ich überprüfen kann, gab es 'postgis extension' in' postgres' Datenbank. –

+0

Jemand muss die Erweiterung manuell erstellt haben. Es sollte nicht standardmäßig dort installiert werden. –

Verwandte Themen