Website-Suche

So installieren Sie die PostgreSQL-Datenbank in Debian 10


PostgreSQL (manchmal auch als Postgres bezeichnet) ist das fortschrittlichste Open-Source-Allzweck- und objektrelationale Datenbanksystem mit einer bewährten Architektur, die auf allen gängigen Betriebssystemen läuft. Es handelt sich um ein leistungsstarkes, stabiles, skalierbares und erweiterbares Datenbanksystem, das eine erstaunliche Datenintegrität bietet und leistungsstarke Add-ons unterstützt.

Wichtig ist, dass Sie mit PostgreSQL Ihre eigenen Datentypen definieren, benutzerdefinierte Funktionen hinzufügen und sogar Code aus verschiedenen Programmiersprachen wie C/C++, Java usw. schreiben können, ohne Ihre Datenbank neu kompilieren zu müssen.

PostgreSQL wird von namhaften Technologieunternehmen wie Apple, Fujitsu, Red Hat, Cisco, Juniper Network usw. verwendet.

In diesem Artikel zeigen wir Ihnen, wie Sie den PostgreSQL-Datenbankserver in Debian 10 installieren, sichern und konfigurieren.

Erfordernis:

  1. Installieren Sie einen Debian 10 (Buster) Minimalserver

PostgreSQL-Server unter Debian 10 installieren

Um den PostgreSQL-Datenbankserver zu installieren, verwenden Sie den standardmäßigen APT-Paketmanager, der den PostgreSQL 11-Server und -Client installiert.

apt install postgresql-11 postgresql-client-11

Auf Debian wird die Postgres-Datenbank wie bei allen anderen Daemons sofort nach Abschluss der Paketinstallation initialisiert, wie im folgenden Screenshot gezeigt.

Um zu überprüfen, ob die Postgres-Datenbank wirklich initialisiert ist, können Sie das Dienstprogramm pg_isready verwenden, das den Verbindungsstatus eines PostgreSQL-Servers wie folgt überprüft.

pg_isready 

Außerdem wird unter systemd auch der Postgres-Dienst automatisch gestartet und für den Start beim Systemstart aktiviert. Um sicherzustellen, dass der Dienst einwandfrei funktioniert, führen Sie den folgenden Befehl aus.

systemctl status postgresql

Im Folgenden finden Sie weitere nützliche systemctl-Befehle zum Verwalten des Postgres-Dienstes unter systemd.

systemctl start postgresql
systemctl restart postgresql
systemctl stop postgresql
systemctl reload postgresql 		#this reloads the service configuration

Sichern und Konfigurieren der PostgreSQL-Datenbank

Standardmäßig verwendet Postgres das Konzept von Rollen, um Datenbankzugriffsberechtigungen zu verwalten, und Datenbankrollen sind konzeptionell vollständig von Betriebssystembenutzern getrennt. Eine Rolle kann ein Benutzer oder eine Gruppe sein, und eine Rolle, die über Anmelderechte verfügt, wird als Benutzer bezeichnet.

Ein frisch initialisiertes System enthält immer eine vordefinierte Rolle namens postgres. Sie hat denselben Namen wie das Betriebssystembenutzerkonto namens postgres, das für den Zugriff auf psql verwendet wird (Postgres-Shell) und andere Datenbankprogramme.

Das Benutzerkonto des Postgres-Systems ist nicht durch ein Passwort geschützt. Um es zu sichern, können Sie mit dem passwd-Dienstprogramm ein Passwort erstellen.

passwd postgres

Außerdem ist die Postgres-Rolle (oder der administrative Datenbankbenutzer, wenn Sie möchten) nicht standardmäßig gesichert. Sie müssen es außerdem mit einem Passwort sichern. Wechseln Sie nun wie gezeigt zum postgres-Systembenutzerkonto und zur postgres-Rolle (denken Sie daran, ein starkes und sicheres Passwort festzulegen).

su - postgres
psql -c "ALTER USER postgres WITH PASSWORD 'securepass_here';"

Verlassen Sie dann das Postgres-Konto, um mit der Anleitung fortzufahren.

Konfigurieren der Client-Authentifizierung

Die Hauptkonfigurationsdatei von Postgres befindet sich unter /etc/postgresql/11/main/postgresql.conf. Zusätzlich zu dieser Datei verwendet Postgres zwei weitere manuell bearbeitete Konfigurationsdateien, die die Client-Authentifizierung steuern.

Die Clientauthentifizierung wird durch die Konfigurationsdatei /etc/postgresql/11/main/pg_hba.conf gesteuert. Postgres bietet viele verschiedene Client-Authentifizierungsmethoden, einschließlich der passwortbasierten Authentifizierung. Clientverbindungen werden basierend auf der Client-Hostadresse, der Datenbank und dem Benutzer authentifiziert.

Wenn Sie sich für die passwortbasierte Authentifizierung entscheiden, können Sie eine dieser Methoden implementieren: md5 oder password, die bis auf die Art und Weise, wie das Passwort über die Verbindung übertragen wird, ähnlich funktionieren , nämlich MD5-gehasht bzw. Klartext.

Die Verwendung der md5-Passwortauthentifizierung verhindert das Ausspähen von Passwörtern durch Hacker und verhindert, dass Passwörter im Klartext auf dem Server gespeichert werden. Die Passwortmethode kann nur dann sicher verwendet werden, wenn die Verbindung durch SSL-Verschlüsselung geschützt ist.

In dieser Anleitung zeigen wir, wie Sie die MD5-Passwortauthentifizierung für die Clientauthentifizierung konfigurieren.

vim /etc/postgresql/11/main/pg_hba.conf 

Suchen Sie nach der folgenden Zeile und ändern Sie die Authentifizierungsmethode in md5, wie im Screenshot gezeigt.

local   all             all                                     md5

Speichern Sie die Änderungen in der Datei und beenden Sie sie. Anschließend übernehmen Sie die letzten Änderungen, indem Sie den Postgres-Dienst wie folgt neu starten.

systemctl restart postgresql

Erstellen einer neuen Datenbank und Datenbankrolle/Benutzer in PostgreSQL

In diesem letzten Abschnitt zeigen wir, wie Sie einen neuen Datenbankbenutzer und eine Datenbankrolle zu seiner Verwaltung erstellen. Wechseln Sie zunächst zum Postgres-Konto und öffnen Sie die Postgres-Shell wie folgt.

su - postgres
psql

Um eine Datenbank mit dem Namen „test_db“ zu erstellen, führen Sie den folgenden SQL-Befehl aus.

postgres=# CREATE DATABASE test_db;

Erstellen Sie dann einen Datenbankbenutzer (eine Rolle mit Anmelderechten), der die neue Datenbank wie folgt verwaltet.

postgres=#CREATE USER test_user PASSWORD ‘securep@ss_here’;     #assumes login function by default

Führen Sie den folgenden Befehl aus, um als Benutzer test_user eine Verbindung zur test_db herzustellen.

 
psql -d  test_db  -U test_user

Weitere Informationen finden Sie in der Dokumentation zu PostgreSQL 11.

Abschluss

Das ist für den Moment! In dieser Anleitung haben wir gezeigt, wie man den PostgreSQL-Datenbankserver in Debian 10 installiert, sichert und konfiguriert. Haben Sie Fragen oder Gedanken, die Sie mitteilen möchten? Nutzen Sie das Kommentarformular unten, um uns zu erreichen.