PostgreSQL ist ein Datenbankverwaltungssystem, das MySQL in vielerlei Hinsicht ähnlich ist, jedoch einige wesentliche Unterschiede aufweist. Wie MySQL wird es üblicherweise unter Linux gehostet. In dieser Anleitung zeigen wir Ihnen, wie Sie einen PostgreSQL-Server auf Ubuntu 20.04 Focal Fossa ausführen und die Client-Version installieren, falls Sie nur eine Verbindung zu einer externen PostgreSQL-Datenbank herstellen müssen.
In diesem Tutorial lernen Sie:
- So installieren Sie den PostgreSQL-Client und verbinden sich mit einem Server
- So installieren und konfigurieren Sie PostgreSQL Server
Ubuntu 20.04 PostgreSQL
Kategorie | Anforderungen, Konventionen oder verwendete Softwareversion |
---|---|
System | Ubuntu 20.04 installiert oder Ubuntu 20.04 Focal Fossa aktualisiert |
Software | PostgreSQL-Server und -Client |
Andere | Privilegierter Zugriff auf Ihr Linux-System als root oder über sudo Befehl. |
Konventionen | # – erfordert, dass bestimmte Linux-Befehle mit Root-Rechten ausgeführt werden, entweder direkt als Root-Benutzer oder durch Verwendung von sudo Befehl$ – erfordert, dass bestimmte Linux-Befehle als normaler, nicht privilegierter Benutzer ausgeführt werden |
PostgreSQL-Client installieren
Der PostgreSQL-Client kann verwendet werden, um eine Verbindung zu einer externen PostgreSQL-Datenbank herzustellen. Verwenden Sie diese Option, wenn Sie bereits einen Datenbankserver in Betrieb haben, aber von einem oder mehreren Client-Systemen entfernt auf die Datenbank zugreifen müssen.
- Installieren Sie zunächst den
postgresql-client
Paket, indem Sie ein Terminal öffnen und den folgenden Befehl eingeben:$ sudo apt install postgresql-client
- Wenn die Installation des PostgreSQL-Clients abgeschlossen ist, können Sie
psql
verwenden Befehl, um eine Verbindung zu einem entfernten PostgreSQL-Server herzustellen. Sie müssen den Hostnamen oder die IP-Adresse des Remote-Servers angeben (angezeigt alspostgre-server
im Beispiel unten) und den Benutzernamen (postgre-user
unten) authentifizieren Sie sich mit:$ psql -h postgre-server -U postgre-user psql (12.2 (Ubuntu 12.2-1)) SSL connection (protocol: TLSv1.2, cipher: ECDHE-RSA-AES256-GCM-SHA384, bits: 256, compression: off) Type "help" for help.
Das war es für die Client-Version. Im nächsten Abschnitt zeigen wir, wie Sie einen PostgreSQL-Server einrichten, der eingehende Client-Verbindungen akzeptieren kann.
PostgreSQL-Server installieren
- Um mit dem Hosten Ihrer PostgreSQL-Datenbank zu beginnen, installieren Sie
postgresql
Paket auf Ubuntu mit dem folgenden Befehl:$ sudo apt install postgresql
- Sobald der PostgreSQL-Server die Installation abgeschlossen hat, sollten Sie sehen können, dass er auf Port
5432
auf eingehende Verbindungen lauscht . Dies ist ein guter Weg, um zu bestätigen, dass es wie erwartet läuft.$ ss -nlt
PostgreSQL-Server überwacht Port 5432 - Standardmäßig wird PostgreSQL Server bei jedem Systemstart automatisch gestartet. Wenn Sie dieses Verhalten ändern möchten, können Sie es jederzeit mit diesem Befehl ändern:
$ sudo systemctl disable postgresql
Um es wieder zu aktivieren, ersetzen Sie einfach
disable
mitenable
. - PostgreSQL Server lauscht nur auf der lokalen Loopback-Schnittstelle
127.0.0.1
standardmäßig. Wenn Sie vorhaben, dass sich ein oder mehrere Remote-Clients mit Ihrem Datenbankserver verbinden, müssen Sie PostgreSQL so konfigurieren, dass es auf einer anderen Netzwerkschnittstelle lauscht. Um diese Änderung vorzunehmen, öffnen Sie die Konfigurationsdatei von PostgreSQL mit nano oder Ihrem bevorzugten Texteditor:$ sudo nano /etc/postgresql/12/main/postgresql.conf
- Fügen Sie in dieser Datei irgendwo unter dem Abschnitt „VERBINDUNGEN UND AUTHENTIFIZIERUNG“ die folgende Zeile hinzu. Dadurch wird PostgreSQL angewiesen, alle Netzwerkschnittstellen auf eingehende Verbindungen zu überwachen.
listen_addresses = '*'
Fügen Sie diese Zeile zur PostgreSQL-Konfigurationsdatei hinzu, um auf allen Netzwerkschnittstellen zu lauschen - Speichern Sie Ihre Änderungen und beenden Sie die Konfigurationsdatei. Starten Sie dann PostgreSQL Server neu, damit die Änderungen wirksam werden.
$ sudo systemctl restart postgresql
- Sie sollten jetzt sehen können, dass PostgreSQL Socket
0.0.0.0:5432
überwacht . Sie können dies bestätigen, indem Siess
ausführen Befehl erneut:$ ss -nlt
Bestätigen, dass PostgreSQL jetzt auf Verbindungen von allen Schnittstellen auf Port 5432 lauscht - Als nächstes sollten Sie die folgende Zeile zu Ihrer
/etc/postgresql/12/main/pg_hba.conf
hinzufügen Konfigurationsdatei, die eingehende Client-Verbindungen zu allen Datenbanken und Benutzern zulässt. Dermd5
Option gibt an, dass sich die Benutzer mit einem Passwort authentifizieren müssen.host all all 0.0.0.0/0 md5
Um diese Zeile mit einem einzigen Befehl zu Ihrer Datei hinzuzufügen, führen Sie einfach Folgendes aus:
$ sudo bash -c "echo host all all 0.0.0.0/0 md5 >> /etc/postgresql/12/main/pg_hba.conf"
- Zu guter Letzt können Sie, wenn Sie die UFW-Firewall aktiviert haben, den Abhörport
5432
von PostgreSQL Server öffnen an eingehenden TCP-Datenverkehr, indem Sie den folgenden Befehl ausführen:$ sudo ufw allow from any to any port 5432 proto tcp Rule added Rule added (v6)
PostgreSQL-Server auf Ubuntu 20.04 Focal Fossa
Schlussfolgerung
In diesem Artikel haben wir gelernt, wie man einen PostgreSQL-Server auf Ubuntu 20.04 Focal Fossa Linux hostet. Wir haben auch gesehen, wie eine anfängliche Konfiguration durchgeführt wird, damit unsere Datenbank eingehende Verbindungen von jeder Quelle und jedem Benutzer akzeptieren kann. Darüber hinaus haben wir auch gesehen, wie man mit dem PostgreSQL-Client-Paket eine Verbindung zu einem entfernten PostgreSQL-Server herstellt.