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.
Alternativ kann man nach dem Benutzer postgres
suchen.
cut -d: -f1 /etc/passwd | grep postgres
1 - Als PostgreSQL-Benutzer anmelden
Um einen neuen Benutzer zu erstellen, wechseln wir zu diesem Benutzer.
sudo su postgres
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.
createuser --interactive
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
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.
\password root
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.
Diese Datei soll (in der Regel als root-Benutzer des Systems) geöffnet werden. In dieser Datei ist folgender Abschnitt gefragt.
Hier soll nun sichergestellt werden, dass die Werte auf scram-sha-256
gesetzt sind.
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
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.