Mehr

Wie kann ich zwei PostGIS-Versionen parallel unter Windows ausführen?


Ich versuche zu verstehen, wie man PostGIS2.0 unter Windows7 installiert. Die PostGIS-Site enthält die folgenden Vorschläge:

PostGIS Experimental Binaries PostGIS 2.0.0SVN Binaries with Raster, Topology support + Extras (Tiger Geocoder 2010) Stand 25. November 2011 (r8242) enthält GEOS 3.3.2dev r3516, Proj 4.6.1, JSON-c 0.9, libgdal 1.9 SVN r23320 (VERSIONEN vor (r7923) erfordern ein erneutes Laden des Dumps, da sich die Operatoren geändert haben. Wir haben jetzt die räumlichen 3D-Indizes, 3D-Box-Operatoren, KNN GIST für 9.1 und 2 Rasterkartenalgebra)

Weitere Details zu den Korrekturen/Hinzufügungen finden Sie unter PostGIS 2.0.0 und PostGIS 1.5.3/1.5.4 Fixes, Was ist neu in PostGIS 2.0, PostGIS Raster-Unterstützung und verbesserte Topologie-Unterstützung funktioniert nicht auf 64-Bit-PostgreSQL. Wir arbeiten daran, auch 64-Bit-Binärdateien herauszubringen, stoßen aber auf einige Stolpersteine. Vorläufig -- wenn Sie Windows 64-Bit verwenden, müssen Sie 32-Bit-PostgreSQL installieren, um diese verwenden zu können.

Für PostgreSQL 8.4 mit Loader/Dumper inklusive GUI Für PostgreSQL 9.0 (kompiliert gegen PostgreSQL 9.0.3) mit Loader/Dumper inklusive GUI Für PostgreSQL 9.1 (kompiliert gegen PostgreSQL 9.1.0 - beachten Sie, dass die Struktur von 9.1 in Beta 1 geändert wurde mit Alpha-Releases arbeiten

sollte aber für alle Beta-Versionen, Release-Kandidaten-Releases und die endgültige Version 9.1.0 geeignet sein) mit Loader/Dumper inklusive GUI. Enthält auch Erweiterungsdateien zur Installation mit der neuen PostgreSQL 9.1+ CREATE EXTENSION-Syntax. Installieren:

Kopieren Sie zuerst die Freigabe-/Erweiterungsdateien in Ihren PostgreSQL-Freigabe-/Erweiterungsordner. Führen Sie dann in jeder Datenbank, die Sie räumlich aktivieren möchten, mindestens postgis aus (das sowohl Geometrie- als auch Raster-Unterstützung enthält) und

optional postgis_topology-Befehle.

ERWEITERUNG ERSTELLEN postgis; ERWEITERUNG ERSTELLEN postgis_topology;

Ich habe derzeit PostGIS 1.5 auf PostgreSQL 8.4 installiert. So sieht meine Ordnerstruktur aus:

Ich verstehe diese Anleitung nicht ganz:

Kopieren Sie zuerst die Freigabe-/Erweiterungsdateien in Ihren PostgreSQL-Freigabe-/Erweiterungsordner.

Führen Sie dann in jeder Datenbank, die Sie räumlich aktivieren möchten, mindestens postgis (das sowohl Geometrie- als auch Raster-Unterstützung enthält) und optional die Befehle postgis_topology aus.

Ich habe heruntergeladenpostgisgui_pgadmin-2.0.0svnundpostgis-pg84-binaries-2.0.0svn. In meiner ursprünglichen Ordnerstruktur habe ich keinen OrdnerErweiterunginnerhalbTeilen. Kopiere ich einfach den Inhalt vonpostgis-pg84-binaries-2.0.0svnin diesen Ordner? Was bedeutet eslaufen mindestens postgis? Ich habe auch versucht, die detaillierten Anweisungen im folgenden Blog zu befolgen.


EDIT: Ich habe Postgresql 9.1 mit PostGIS 1.5.3 installiert. Ich versuche herauszufinden, wohin die PostGIS 2.0-Binärdateien kopiert werden sollen. Es scheint, als ob ich sie in die Ordner hier kopieren sollte:

aber der Rat schlägt vor, sie in den Freigabe-/Erweiterungsordner zu legen.

Ich habe versucht, den gesamten Ordner in zu kopierenteilen/erweitern/und dann bearbeitenmakepostgis.batDatei, um sie für mein Dateisystem relevant zu machen (der Port ist 5434, da ich zwei Instanzen von Postgresql habe).

set PGPORT=5434 set PGHOST=localhost set PGUSER=postgres set PGPASSWORD=**** set THEDB=template_postgis20 set PGBIN=C:Program Files (x86)PostgreSQL9.1in set PGLIB=C:Program Files ( x86)PostgreSQL9.1lib

Wenn ich diese Datei als Administrator ausführe, erhalte ich die folgende Fehlermeldung:

C:Windowssystem32>set PGPORT=5434 C:Windowssystem32>set PGHOST=localhost C:Windowssystem32>set PGUSER=postgres C:Windowssystem32>set PGPASSWORD=**** C: Windowssystem32>set THEDB=template_postgis20 C:Windowssystem32>set PGBIN=C:Program Files (x86)PostgreSQL9.1in C:Windowssystem32>set PGLIB=C:Program Files (x86 )PostgreSQL9.1lib C:Windowssystem32>set POSTGISVER=2.0 C:Windowssystem32>xcopy bin*.* "C:Program Files (x86)PostgreSQL9.1in" Datei nicht gefunden - *.* 0 Datei(en) kopiert C:Windowssystem32>xcopy /I /S binpostgisgui* "C:Programme (x86)PostgreSQL9.1inpostgisgui" Datei nicht gefunden - * 0 Datei(en) kopiert C:Windowssystem32>xcopy lib*.* "C:Programme (x86)PostgreSQL9.1lib" Datei nicht gefunden - *.* 0 Datei(en) ) kopiert C:Windowssystem32>"C:Program Files (x86)PostgreSQL9.1inpsql" -c "CREATE DATABASE template_postgis20" FEHLER: Datenbank "template_postgis20" existiert bereits C:Windowssystem32> "C:Programme (x86)PostgreSQL9.1inpsql" -d "template_postgis20" -c "CREATE LANGUAGE plpgs ql" FEHLER: Sprache "plpgsql" existiert bereits C:Windowssystem32>"C:Program Files (x86)PostgreSQL9.1inpsql" -d "template_postgis20" -f "sharecontribpostgis -2.0postgis.sql" share/contrib/postgis-2.0/postgis.sql: No such file or directory… die Fehler gehen weiter…

Ich habe die Anleitung auf der Website aktualisiert. Hoffe es ist etwas klarer.

Nicklas hat recht, du brauchst die makepostgis.bat nicht wirklich, wenn du nur die gleichen Ordner in deine postgresql-Installation kopierst (du könntest auch die create db darin ausmerken, da sie alle Dateien kopiert). Sie sollten in der Lage sein, einfach darüber zu legen, da die ZIP-Struktur die gleiche ist wie die standardmäßigen gepackten PostgreSQL-Binärdateien von Windows Enterprisedb. Was ich in der Anleitung vergessen habe zu erwähnen, ist, dass Sie die Binärdateien und Bibliotheken weiterhin benötigen. Dies habe ich aktualisiert, damit es klarer sein sollte.

Wir haben den Create Extension-Ansatz als offizieller für PostgreSQL 9.1 noch nicht, da wir einige Probleme bei der Verwendung der ALTER EXTENSION postgis UPGRADE… Punkte noch. Im aktuellen Paket funktioniert es gut, aber es ist schwieriger sicherzustellen, dass es funktioniert, angesichts der vielen Dinge, die im letzten Monat in PostGIS 2.0 passiert sind.


Bearbeiten:

Der Grund dafür, dass Sie den Erweiterungsordner nicht haben, ist, dass Sie zum Zeitpunkt der Einführung der Erweiterungsfunktion noch nicht auf PostgreSQL 9.1 waren.

Was Sie tun sollten, ist die Binärdateien in den bin-Ordner zu legen, wie am Anfang der Readme-Datei beschrieben.

Das Ausführen von postgis bedeutet dann, dass Sie den SQL-Code in der Datei postgis.sql ausführen sollen, um die Typen und Funktionen von PostGIS in die Datenbank zu installieren. Um Raster und Topologie zu installieren, müssen Sie auch diese Dateien ausführen.

Sie können dies im Installationsteil des Dokuments nachlesen.

/Nicklas