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, wie man einen PostgreSQL-Server auf Ubuntu 22.04 Jammy Jellyfish betreibt und die Client-Version installiert, falls Sie nur eine Verbindung zu einer externen PostgreSQL-Datenbank herstellen müssen.
In diesem Tutorial lernen Sie:
- So installieren Sie den PostgreSQL-Client
- So stellen Sie eine Verbindung zu einem PostgreSQL-Server her
- So installieren und konfigurieren Sie PostgreSQL Server
Kategorie | Anforderungen, Konventionen oder verwendete Softwareversion |
---|---|
System | Ubuntu 22.04 Jammy Jellyfish |
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 Befehlszeilenterminal öffnen und die folgenden beidenapt
eingeben Befehle:$ sudo apt update $ 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 (14.2 (Ubuntu 14.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 22.04 mit dem folgenden Befehl:$ sudo apt update $ 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
- 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 einfachdisable
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/14/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 = '*'
- Speichern Sie Ihre Änderungen und verlassen 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
- Als nächstes sollten Sie die folgende Zeile zu Ihrer
/etc/postgresql/14/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/14/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 jeden 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)
Abschlussgedanken
In diesem Tutorial haben wir gelernt, wie man einen PostgreSQL-Server auf Ubuntu 22.04 Jammy Jellyfish 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.