PostgreSQL ist seit mehr als 20 Jahren verfügbar und hat seine bemerkenswerte Zuverlässigkeit in Anwendungsfällen von kleinen bis riesigen Datensätzen bewiesen. Die Liste der zufriedenen kommerziellen und nichtkommerziellen Nutzer ist ziemlich lang und umfasst unter anderem den Kinderfonds der Vereinten Nationen (UNICEF), das Creative Commons Archive, Skype und die BMW Group.
Das integrierte Transaktionsmanagementmodell sowie der Satz geometrischer Datentypen haben dazu beigetragen, die Software von anderen Entwicklungen wie MySQL/Mariadb, Redis oder SQLite abzuheben . In diesem Artikel konzentrieren wir uns auf die Einrichtung von Postgresql 11.5 In Kombination mit Postgis 2.5 .
Postgis ist die räumliche Erweiterung von PostgreSQL, die PostgreSQL sowohl geometrische Funktionen als auch geografische Merkmale hinzufügt. Einfach gesagt, diese räumlichen Datenatypen wirken als Formen sowie räumliche Strukturen wie Grenze und Dimension, sowohl abstrakt. Unter anderem sind neu verfügbare Datenatypen Punkt, Oberfläche, Und Kurve.
Einer der bekanntesten Nutzer von PostGIS ist das Institut Géographique National (IGN) von Frankreich, das referenzgeografische Informationen für das ganze Land sammelt, integriert, verwaltet und verteilt. Seit Juli 2006 nutzt PostGIS ausführlich. Bis jetzt enthält die Datenbank des IGN mehr als 100 Millionen räumliche Objekte.
Wir werden nach der XFCE -Desktop -Umgebung Postgresql/Postgis auf Debian GNU/Linux 10 „Buster“ einrichten .
Das Einrichten der PostgreSQL -DBMS auf einem Debian GNU/Linux erfordert nur ein moderates Maß an Kenntnis der Systemverwaltung. Die Herausforderung ist hier die richtige Reihenfolge der erforderlichen Schritte (siehe eine vollständige Liste mit Bildern). Wie bei jeder anderen Linux -Verteilung gibt es Standardeinstellungen und Packungsnamen, die etwas problematisch sein können. Wir stöhnen nicht und fangen stattdessen einfach an.
Installieren von PostgreSQL als Software
Schritt eins ist die Installation des PostgreSQL -Pakets. In einem Terminal können Sie dies wie folgt tun:
# APT-Get Installieren Sie PostgreSQL
Unter Verwendung des Chef -Konfigurationsmanagementsystems enthält ein grundlegendes Rezept, das zu demselben Ergebnis führt, genau die folgenden Zeilen:
Paket 'postgreSQL' Durchführen Aktion: Ende installieren
Service 'postgreSQL' do action: [: enable,: starten] Ende
Diese Zeilen führen zur Installation des PostgreSQL -Pakets (plus Paketabhängigkeiten) und aktivieren Sie den Anleitungsdienst. Um den PostgreSQL -Dienst für die Ausführung zu überprüfen, sollte dieser Befehl Ihnen dann eine positive Ausgabe geben, dann:
# Service PostgreSQL Status
Fertigstellung des Setups für das Konto des Administrators
Der Benutzer PostgRes administriert die PostgreSQL -Datenbanken. Schritt zwei ist abgeschlossen dieses Konto und beginnt mit dem Hinzufügen eines Passworts zu seinen Anmeldeinformationen wie folgt:
# Passwd Postgres
Neues Kennwort:
Neues Passwort senden:
PassWD: Passwort erfolgreich aktualisiert
#
Anmelden als Benutzer Postgres können Sie anderen Benutzern Zugriff auf die PostgreSQL -Datenbank gewähren. Anschließend müssen wir in Schritt drei einen Benutzer hinzufügen. Bitte beachten Sie die Tatsache, dass sowohl das Linux -System als auch PostgreSQL ihre Benutzerdatenbanken getrennt halten. Aus diesem Grund müssen Sie sicherstellen, dass ein regulärer Linux -Benutzer mit demselben Namen auch in Ihrem System vorhanden ist.
Hinzufügen eines Benutzerkontos
Schritt vier wird als Benutzer Postgres durchgeführt. Wechseln Sie von root zu postgres und erstellen Sie ein neues Konto für den Benutzer LinuxHint in der PostgreSQL -Datenbank mit Hilfe dieses Befehls:
Postgres $ createUser -interactive LinuxHint
Soll die neue Rolle ein Superuser sein? (y/n) n
Darf die neue Rolle Datenbanken erstellen? (y/n) n
Darf die neue Rolle neue Rollen schaffen? (y/n) n
Postgres $
Legen Sie als nächstes ein Passwort für die neu erstellte Benutzer LinuxHint fest. Melden Sie sich bei der Datenbankschale mit PSQL an und setzen Sie das neue Kennwort mit dem Befehl \ Passwort fest. Nach diesem Typ \ q, um die Datenbankschale zu beenden und zur Schale im Terminal zurückzukehren:
Postgres $ PSQL PSQL (11.5 (Debian 11.5-1+DEB10U1)) Geben Sie „Hilfe“ für weitere Hilfe ein.Schritt fünf ist die Erstellung einer separaten Datenbank für den Benutzer LinuxHint. Um dies zu tun, geben Sie den Befehl erstellt als Benutzer Postgres ein:
Postgres $ erstellte linuxHint
Jetzt hat der Benutzer LinuxHint eine eigene Datenbank und kann damit nach seinen Bedürfnissen arbeiten.
Hinzufügen von Postgis
Schritt sechs besteht aus der Installation des Postgis -Pakets. Wie für Postgresql zuvor kann dies wie folgt mit APT-Get erfolgen:
# APT-GET-INSTALLEN SIE POSTGIS
Alternativ wäre ein einfaches Rezept für Koch:
Paket 'Postgis'
Aktion: Installation
Ende
Das PostGIS-Paket hat eine Abhängigkeit für das Debian-Paket postgresql-11-postgis-2.5-skripte (automatisch installiert), die PostGIS mit postgreSQL verbinden und eine Reihe von manuellen Schritten beseitigen, die in anderen Verteilungen benötigt werden. Unabhängig davon, welche der beiden Installationsmethoden Sie auswählen - APT -Get oder Chef -, stellt das Debian -Paket -Management sicher, dass alle je nach Pakete installiert und korrekt konfiguriert sind.
Schritt sieben ist die Ermöglichung der Postgis -Erweiterung. Wie in der Postgis -Dokumentation erläutert, installieren Sie sie nicht in der Datenbank mit dem Namen postgres, da diese für die internen Datenbücher von postgreSQL verwendet werden. Aktivieren Sie sie nur in jeder Benutzerdatenbank, in der Sie sie tatsächlich benötigen. Melden Sie sich als Benutzer Postgres an, stellen Sie eine Verbindung zu der gewünschten Datenbank her und erstellen Sie die beiden Erweiterungen postgis und postgis_topology, wie unten gezeigt. Der Befehl \ C verbindet Sie mit der gewünschten Datenbank und erstellt eine Erweiterung ermöglicht die gewünschte Erweiterung:
postgres =#
Jetzt sind Sie mit der Datenbank "LinuxHint" als Benutzer "Postgres" verbunden.
LinuxHint =# Erweiterung postgis;Schritt sieben dient zur Validierung, dass die Aktivierung der Erweiterung erfolgreich war. Der PostgreSQL -Befehl \ dx listet die installierten Erweiterungen auf, und sowohl postgis als auch postgis_topology sollten jetzt in der Liste stehen.
Postgis liefert auch andere Erweiterungen. Wir empfehlen, nur das zu installieren, was Sie brauchen. Weitere Informationen zu den Erweiterungen finden Sie in der Dokumentation der PostGIS -Dokumentation.
Daten hinzufügen
Nach erfolgreicher Einrichtung von Postgis ist es Zeit, Tabellen hinzuzufügen und sie mit Daten zu füllen. Eine Menge geografischer Daten sind kostenlos online verfügbar, zum Beispiel von Geofabrik. Die Daten werden als Formdateien bereitgestellt, die ein gemeinsames Vektor -Datenformat für GIS -Software sind.
Laden Sie den Inhalt der Formdatei mit Hilfe des Special Commandline Tool SHP2PGSQL in PostGIS in PostGIS, nachdem Sie die Formdatei heruntergeladen haben. Das folgende Beispiel zeigt, wie die Formdatei zuerst in eine Abfolge von SQL -Befehlen umwandelt und die Liste der SQL -Befehle mit PSQL in die Datenbank hochgeladen wird, als nächstes:
LinuxHint $ Shp2PGSQL -CDII Railways.SHP Railway> Eisenbahn.sqlDie folgende Abbildung zeigt die Ausgabe, die auf dem Bildschirm gedruckt wird, sobald Sie die Daten hochladen.
Jetzt ist Postgresql/Postgis Ihren Service und bereit, Ihre SQL -Abfragen zu erhalten. Zum Beispiel ermöglicht Pgadmin einen Blick unter die Motorhaube innerhalb von Minuten. Die folgende Abbildung zeigt dies für die hochgeladenen Daten. Die Spalte rechts hat einen geometrischen Typ Multilinestring.
Das Einrichten von Postgresql/Postgis ist keine Raketenwissenschaft. Mit den oben erläuterten Schritten können Sie dies in weniger als einer Stunde tun und schnell Ergebnisse erzielen. Et voila!