Wie man PostGIS PostgreSQL Geographische Informationssysteme auf Debian 10 installiert

PostGIS ist eine Open-Source-Software, die „Geographic Information Systems“-Objekte in die objektrelationale Datenbank PostgreSQL ermöglicht. PostGIS wurde speziell für die Verwendung von leichten Geometrien entwickelt, die den Servern helfen, die Datenmenge zu erhöhen, die vom physischen Plattenspeicher in den RAM-Speicher hochgewandert ist. Es handelt sich dabei um eine Erweiterung des PostgreSQL, die zur Speicherung räumlicher Daten unter Verwendung von Geometrie- und Geographiedatentypen verwendet wird. Es wird auch verwendet, um einige spezielle Abfragen durchzuführen, um Fläche, Entfernung, Länge, Umfang zu bestimmen und Indizes auf Ihren Daten zu erstellen.

In diesem Tutorial werden wir lernen, wie man PostGIS unter Debian 10 installiert.

Voraussetzungen

  • Ein Server, auf dem Debian 10 läuft.
  • Ein Root-Passwort wird auf Ihrem Server eingerichtet.

Erste Schritte

Bevor Sie beginnen, ist es eine gute Idee, das Paket Ihres Systems auf die neueste Version zu aktualisieren. Sie können sie mit dem folgenden Befehl aktualisieren:

apt-get update -y
apt-get upgrade -y

Sobald alle Pakete aktualisiert sind, starten Sie Ihr System neu, um die Änderungen zu übernehmen.

Installieren Sie PostgreSQL

Bevor Sie beginnen, müssen Sie das PostgreSQL-Repository zu Ihrem System hinzufügen.

Laden Sie zunächst den GPG-Schlüssel herunter und fügen Sie ihn mit folgendem Befehl hinzu:

apt-get install gnupg2 -y
 wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | apt-key add -

Fügen Sie anschließend das PostgreSQL-Repository mit dem folgenden Befehl hinzu:

echo "deb http://apt.postgresql.org/pub/repos/apt/ `lsb_release -cs`-pgdg main" | tee /etc/apt/sources.list.d/pgdg.list

Aktualisieren Sie dann das Repository und installieren Sie den PostgreSQL-Server mit folgendem Befehl:

apt-get update -y
 apt-get install postgresql-11 -y

Sobald die Installation abgeschlossen ist, können Sie den Status des PostgreSQL-Servers mit folgendem Befehl überprüfen:

systemctl status postgresql

Sie sollten die folgende Ausgabe erhalten:

? postgresql.service - PostgreSQL RDBMS
   Loaded: loaded (/lib/systemd/system/postgresql.service; enabled; vendor preset: enabled)
   Active: active (exited) since Sun 2020-04-12 04:58:43 UTC; 15s ago
 Main PID: 2665 (code=exited, status=0/SUCCESS)
    Tasks: 0 (limit: 2359)
   Memory: 0B
   CGroup: /system.slice/postgresql.service

Apr 12 04:58:43 debian10 systemd[1]: Starting PostgreSQL RDBMS...
Apr 12 04:58:43 debian10 systemd[1]: Started PostgreSQL RDBMS.

PostGIS installieren

Zu diesem Zeitpunkt ist der PostgreSQL-Server installiert und läuft. Jetzt ist es an der Zeit, PostGIS zu installieren.

Sie können es installieren, indem Sie einfach den folgenden Befehl ausführen:

apt-get install postgis postgresql-11-postgis-2.5 -y

Sobald es installiert ist, können Sie mit dem nächsten Schritt fortfahren.

Aktivieren von PostGIS auf PostgreSQL

Als nächstes müssen Sie eine PostgreSQL-Datenbank und einen Benutzer erstellen und PostGIS-Funktionen auf einer Datenbank aktivieren, bevor Sie räumliche Daten speichern können.

Melden Sie sich zunächst mit dem folgenden Befehl bei PostgreSQL an:

su - postgres

Als nächstes legen Sie einen Benutzer und eine Datenbank mit folgendem Kommando an:

[email protected]:~$ createuser postgisuser
 [email protected]:~$ createdb postgis_db -O postgisuser

Als nächstes stellen Sie eine Verbindung zu der Datenbank her, die Sie gerade erstellt haben:

[email protected]:~$ psql -d postgis_db

Sie sollten die folgende Ausgabe erhalten:

psql (12.2 (Debian 12.2-2.pgdg100+1), server 11.7 (Debian 11.7-0+deb10u1))
Type "help" for help.

Als nächstes aktivieren Sie die PostGIS-Erweiterung auf der Datenbank:

postgis_db=# CREATE EXTENSION postgis;

Als nächstes überprüfen Sie das PostGIS, ob es funktioniert oder nicht:

postgis_db=# SELECT PostGIS_version();

Sie sollten die folgende Ausgabe erhalten:

            postgis_version            
---------------------------------------
 2.5 USE_GEOS=1 USE_PROJ=1 USE_STATS=1
(1 row)

Verlassen Sie schließlich die PostgreSQL-Shell mit dem folgenden Befehl:

postgis_db=# \q
 [email protected]:~$ exit

Optimieren von PostgreSQL für PostGIS

PostgreSQL ist für den Betrieb von kleinen Datenbanken bis hin zu großen Datenbanken ausgelegt. PostGIS-Datenbankobjekte sind im Vergleich zu Textdaten groß. Daher müssen Sie PostgreSQL optimieren, um besser mit PostGIS-Objekten arbeiten zu können.

Sie können den PostgreSQL-Server optimieren, indem Sie die Datei /etc/postgresql/11/main/postgresql.conf bearbeiten:

nano /etc/postgresql/11/main/postgresql.conf

Ändern Sie den folgenden Parameter je nach RAM Ihres Systems:

#This value should be around 75% of your server’s RAM.
shared_buffers = 1500M
#This allows PostgreSQL to cache more data in memory while it performs its sorting
work_mem = 64MB
#A checkpoint is a periodic action that stores information about your system
checkpoint_segments = 6
#This setting essentially is the amount of time that your optimizer should spend reading memory before reaching out to your disk.
random_page_cost = 2.0 

Speichern und schließen Sie die Datei, wenn Sie fertig sind. Starten Sie dann den PostgreSQL-Dienst neu, um die Änderungen zu implementieren.

systemctl restart postgresql

Schlussfolgerung

Herzlichen Glückwunsch! Sie haben PostGIS erfolgreich auf dem PostgreSQL-Server installiert. Sie haben nun die Datenbank für räumliche Abfragen konfiguriert. Weitere Informationen finden Sie in der PostGIS-Dokumentation unter PostGIS.

Das könnte dich auch interessieren …