PostGIS ist eine Erweiterung für PostgreSQL, die geografische Objekte und Funktionen umfasst. So ist es möglich mit PostgreSQL und PostGIS eine Geodatenbank bereitzustellen.
Wir gehen in diesem Tutorial von einem schon installierten PostgreSQL-Server aus. Wie man PostgreSQL in der aktuellen Version installiert erfährt man in diesem Tutorial.
Wenn nicht schon erledigt binden wir das nötige Repository ein. Das funktioniert dann so:
yum install http://yum.postgresql.org/9.3/redhat/rhel-7-x86_64/pgdg-centos93-9.3-1.noarch.rpm
Die Installation erfolgt dann wieder ganz einfach per yum. Da wir hier vorher die PostgreSQL Version 9.3 installiert haben wählen wir PostGIS passend für diese Version.
yum install postgis2_93
Nach erfolgreicher Installation von PostGIS können wir die Erweiterung für unser Datenbank aktivieren.
PostgreSQL – PostGIS installieren
Zuerst erstellen wir uns, wenn noch nicht erfolgt, eine Datenbank. Das erledigen wir am Besten mit dem User postgres auf der Konsole. Dazu wechseln wir in diesen User.
su - postgres
Dann erstellen wir die Datenbank tutorial-postgis und betreten diese mit psql.
createdb tutorial-postgis psql tutorial-postgis psql (9.3.5) Type "help" for help. tutorial-postgis=#
Nun können wir die Erweiterungen installieren, dazu verwenden wir den Befehl CREATE EXTENSION <Name der Erweiterung>.
tutorial-postgis=# CREATE EXTENSION postgis; tutorial-postgis=# CREATE EXTENSION postgis_topology; tutorial-postgis=# CREATE EXTENSION fuzzystrmatch; tutorial-postgis=# CREATE EXTENSION postgis_tiger_geocoder;
PostgreSQL – alle Extensions anzeigen
Nach dem diese Schritte abgeschlossen sind können wir uns alle installierten Erweiterungen mit \dx anzeigen lassen.
tutorial-postgis=# \dx List of installed extensions Name | Version | Schema | Description ------------------------+---------+------------+--------------------------------------------------------------------- fuzzystrmatch | 1.0 | public | determine similarities and distance between strings plpgsql | 1.0 | pg_catalog | PL/pgSQL procedural language postgis | 2.1.5 | public | PostGIS geometry, geography, and raster spatial types and functions postgis_tiger_geocoder | 2.1.5 | tiger | PostGIS tiger geocoder and reverse geocoder postgis_topology | 2.1.5 | topology | PostGIS topology spatial types and functions (5 rows)
Wir sehen nun welche Erweiterungen installiert sind und können nun PostGIS nutzen.
Wie immer verweise ich an dieser Stelle auf die Projektseiten von PostGIS und PostgreSQL. Auf diesen findet man die Dokumentation sowie weitere Infos.