navigation Navigation


Installation und Konfiguration unter Ubuntu Linux


In dieser Anleitung wird gezeigt, wie man PostgreSQL unter Ubuntu Linux installiert. Außerdem wird eine Möglichkeit zur Erstellung eines eigenen Root-Benutzers mit einem Passwort und die Aktivierung von passwort-basierter Authentifizierung erklärt.

Installation von PostgreSQL

PostgreSQL kann unter Ubuntu Linux über die System-Pakete installiert werden.

sudo apt update
sudo apt install postgresql

Vor jeder Installation von Paketen sollte der update Befehl ausgeführt werden, um die neuste verfügbare Version der gewünschten Software zu installieren.

Die Installation erfolgt mit Standard-Konfiguration.

Root-Benutzer mit einem Passwort erstellen

Für meine lokale PostgreSQL-Instanzen verwende ich immer einen Benutzer root, den ich sowohl für MySQL/MariaDB als auch für PostgreSQL erstelle. Diesen verwende ich in verschiedenen Web-Anwendungen, bei denen ein eigener Benutzer für die lokale Entwicklung nicht von großer Bedeutung ist. Das sind hauptsächlich CMS wie WordPress oder Onlineshops wie JTL-Shop, die das Management der Datenbank inkl. der Verbindung für einen übernehmen. Man konfiguriert lediglich die Angaben. In diesem Fall kommt der root-Benutzer bei mir im Einsatz mit der Angabe der gewünschten Ziel-Datenbank.

In Fällen von Sonder-Entwicklungen oder Web-Anwendungen bei denen man die Konfiguration rund um die Datenbank selbst schreibt und die korrekte Verbindung der Anwendung sicherstellt, erstelle ich einen eigenen Benutzer und eine entsprechende Datenbank, bei der der Benutzer der Besitzer ist und nur auf diese Datenbank berechtigt wird.

Dies ist nur meine persönliche Präferenz für lokale Entwicklungen und kandidiert nicht als Wahrheit in letzter Instanz für alle Entwickler da draußen.


PostgreSQL erstellt während der Installation einen neuen System-Benutzer. Diesen kann man in der /etc/passwd Datei sehen.

PostgreSQL - Neuer System-Benutzer

Alternativ kann man nach dem Benutzer postgres suchen.

cut -d: -f1 /etc/passwd | grep postgres

PostgreSQL - System-Benutzer prüfen


1 - Als PostgreSQL-Benutzer anmelden

Um einen neuen Benutzer zu erstellen, wechseln wir zu diesem Benutzer.

Benutzer wechseln
sudo su postgres

PostgreSQL - Zum Postgres-Benutzer wechseln


2 - Neuen Benutzer erstellen

Nun wird das Wizard für die Erstellung eines neuen Benutzers wie folgt aufgerufen. Diesen Befehl führt man als postgres Benutzer aus.

Hinweis: An dieser Stelle wird man keine Möglichkeit haben, um das Passwort anzugeben. Das wird im nächsten Schritt vorgenommen.

Neuen Benutzer erstellen
createuser --interactive

PostgreSQL - Neuen Benutzer erstellen


3 - Passwort für den neuen Benutzer setzen

Um nun ein Passwort für den neu erstellten Benutzer zu erstellen, muss man sich an der PostgreSQL-Instanz anmelden. Man ist an dieser Stelle immer noch als postgres Benutzer angemeldet.

PSQL starten
psql

Nach erfolgreicher Anmeldung, können wir nun ein beliebiges, gewünschtes Passwort für den neuen Benutzer setzen.

Das Schema zum Setzen/Ändern des Passworts für einen Benutzer innerhalb von PostgreSQL sieht wie folgt aus.

\password <dein_benutzer>

In meinem Fall hatte ich den Benutzer root erstellt, daher wird dieser hier eingesetzt.

Passwort setzen
\password root

PostgreSQL - Passwort für den neuen Benutzer setzen

Es kommt zwei Mal die Aufforderung zur Eingabe des gewünschten Passwortes.

Anmeldung mit Passwort aktivieren

Im Falle von Ubuntu (Linux Mint) befindet sich die notwendige Konfigurationsdatei, in der die Anpassung/Änderung zu erfolgen hat unter folgendem Pfad.

/etc/postgresql/16/main/pg_hba.conf

In meinem Fall ist die Version 16 installiert, daher haben wir hier auch den Ordner 16 im Pfad. In diesem Ordner befindet sich, neben weiteren Konfigurationsdateien auch die pg_hba.conf.

PostgreSQL - Konfigurationsdatei für Anmeldung

Diese Datei soll (in der Regel als root-Benutzer des Systems) geöffnet werden. In dieser Datei ist folgender Abschnitt gefragt.

PostgreSQL - Konfigurationsdatei - relevate Stelle

Hier soll nun sichergestellt werden, dass die Werte auf scram-sha-256 gesetzt sind.

PostgreSQL - Konfigurationsdatei - Methode ändern

Nach diesen Änderungen muss der PostgreSQL-Service neugestartet werden.

sudo systemctl restart postgresql

Wenn man überprüfen möchte, ob der Service korrekt neugestartet wurde oder aktiv ist, kann folgender Befehl verwendet werden.

sudo systemctl status postgresql

PostgreSQL -  Neu starten

Als Root-Benutzer mit Passwort anmelden

Nachdem nun ein Root-Benutzer mit gewünschtem Passwort erstellt und die Anpassung der Konfiguration (Aktivierung der Anmeldung mit Passwort) vorgenommen ist, kann man sich als dieser Benutzer anmelden.

Wichtig: Neben der Angabe des Benutzers, mit dem man sich anmelden möchte, muss auch eine Ziel-Datenbank angegeben werden. Wenn noch keine Datenbank erstellt wurde, kann man die Standard-Datenbank postgres angeben. Diese wird während der Installation erstellt.

PostgreSQL -  Mit Passwort anmelden