So installierst du PostgreSQL 15 auf Rocky Linux 9

PostgreSQL ist ein freies und quelloffenes Datenbankmanagementsystem, das sich auf Erweiterbarkeit und SQL-Konformität konzentriert. PostgreSQL ist ein fortschrittliches RDBMS (Relational Database Management System) der Enterprise-Klasse, das sowohl SQL- (relationale) als auch JSON- (nicht-relationale) Abfragen unterstützt.

Es ist ein äußerst stabiles Datenbankmanagementsystem, das auf mehr als 20 Jahre Entwicklung durch die Open-Source-Gemeinschaft zurückblicken kann und bei Entwicklern und Systemadministratoren einen guten Ruf für seine Zuverlässigkeit, Flexibilität, Robustheit und Leistung genießt.

PostgreSQL wird als primäre Datenbank für Webanwendungen, mobile Anwendungen und analytische Anwendungen eingesetzt. Einige namhafte PostgreSQL-Nutzer auf der ganzen Welt sind Reddit, Skype, Instagram, Disqus, The Guardian, Yandex, Bloomberg, Nokia, BMW, etc.

Dieses Tutorial führt dich durch die Installation des neuesten PostgreSQL 15 auf einem Rocky Linux 9 Server. Außerdem lernst du die grundlegenden Funktionen von PostgreSQL kennen, wie du Benutzer/Rollen anlegst, Datenbanken verwaltest, Tabellen erstellst, Daten einfügst und abrufst.

Voraussetzungen

Du brauchst die folgenden Voraussetzungen, um diesen Leitfaden zu lesen:

  • Einen Rocky Linux 9 Server – In diesem Beispiel wird der Rocky Linux mit dem Hostnamen‚postgresql-rocky‚ verwendet.
  • Einen Nicht-Root-Benutzer mit sudo/root-Administrator-Rechten.
  • Ein SELinux, das mit permissivem Modus läuft.

Kommen wir nun zur Installation von PostgreSQL 15.

Repository einrichten

Zum Zeitpunkt dieser Installation ist PostgreSQL 15 noch nicht im Rocky Linux Repository verfügbar. Um PostgreSQL 15 zu installieren, musst du also das offizielle PostgreSQL-Repository verwenden.

Der erste Schritt ist die Installation und das Hinzufügen von PostgreSQL-Repositories auf deinem Rocky Linux 9 Server.

Führe den folgenden Befehl aus, um das offizielle PostgreSQL-Repository zu deinem System hinzuzufügen. Dieses Repository kann für mehrere RHEL-basierte Distributionen der Version 9 verwendet werden.

sudo dnf install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-9-x86_64/pgdg-redhat-repo-latest.noarch.rpm

Während des Prozesses erhältst du die folgende Ausgabe:

Repo hinzufügen

Überprüfe nun die Liste der verfügbaren Repositories mit dem unten stehenden dnf-Befehl.

sudo dnf repolist

Du erhältst eine Ausgabe ähnlich diesem Screenshot – Du hast mehrere PostgreSQL-Repositories zu deinem Rocky Linux hinzugefügt, darunter auch die neueste Version von PostgreSQL 15.

Repo auflisten

Nachdem du das PostgreSQL-Repository hinzugefügt hast, erfährst du im nächsten Schritt, wie du PostgreSQL 15 installierst und konfigurierst.

Installation von PostgreSQL 15

In diesem Schritt installierst du PostgreSQL 15 auf Rocky Linux, initialisierst die PostgreSQL-Datenbank und die Konfigurationen und startest und aktivierst den PostgreSQL 15-Dienst.

Führe den folgenden dnf-Befehl aus, um den PostgreSQL 15 Server zu installieren. Gib y ein, wenn du nach der Konfiguration gefragt wirst, und drücke dann ENTER, um fortzufahren.

sudo dnf install postgresql15-server postgresql15-contrib

postgresql 15 installieren

Wenn du aufgefordert wirst, die GPG-Schlüssel für das PostgreSQL-Repository zu akzeptieren, bestätige mit y und drücke ENTER, um fortzufahren.

gpg-Schlüssel akzeptieren

Nachdem PostgreSQL 15 installiert ist, führe den folgenden Befehl aus, um die PostgreSQL-Datenbank und die Konfiguration zu initialisieren.

sudo postgresql-15-setup initdb

Daraufhin erhältst du eine Ausgabe wie ‚Initialisierung der Datenbank … OK‚.

Führe nun den folgenden systemctl-Befehl aus, um den PostgreSQL 15-Dienst zu starten und zu aktivieren.

sudo systemctl start postgresql-15
sudo systemctl enable postgresql-15

postgresql initialisieren und starten

Überprüfe abschließend den PostgreSQL 15-Dienst mit dem unten stehenden systemctl-Befehl. Dadurch wird sichergestellt, dass dein PostgreSQL 15 Server aktiviert ist und läuft.

sudo systemctl status postgresql-15

Du erhältst eine Ausgabe wie in diesem Screenshot – Der Status von PostgreSQL 15 ist „running“ und er ist aktiviert, was bedeutet, dass der Dienst beim Hochfahren automatisch gestartet wird.

postgresql verifizieren

Jetzt hast du den PostgreSQL 15 Server installiert und er ist aktiviert und läuft. Im nächsten Schritt richtest du die Authentifizierungsmethode für PostgreSQL-Benutzer ein.

Benutzerauthentifizierung und Passwortverschlüsselung einrichten

Wenn PostgreSQL 15 installiert ist und läuft, kannst du jetzt die Konfiguration der PostgreSQL-Authentifizierung vornehmen. Diese kann über die Konfigurationsdatei „pg_hba.conf“ im PostgreSQL-Konfigurationsverzeichnis konfiguriert werden.

Melde dich mit dem folgenden Befehl in der PostgreSQL-Shell an.

sudo -u postgres psql

Nachdem du dich eingeloggt hast, führe die folgenden Abfragen aus, um die Standardkonfiguration von PostgreSQL zu überprüfen, in der die Authentifizierungsmethoden gespeichert sind, und um die aktuelle Passwortverschlüsselung auf deinem PostgreSQL-Server zu überprüfen.

SHOW hba_file;
SHOW password_encryption;

Du erhältst eine ähnliche Ausgabe wie diese – Die Standard-PostgreSQL-Konfigurationsdatei für die Authentifizierung lautet „/var/lib/pgsql/15/data/pg_hba.conf“ und die standardmäßig aktivierte Passwortauthentifizierung ist„scram-sha-256„.

show default password aencryption and authentication configuration

Öffne nun die PostgreSQL-Konfigurationsdatei „/var/lib/pgsql/15/data/pg_hba.conf“ mit dem unten stehenden nano-Editor-Befehl.

sudo nano /var/lib/pgsql/15/data/pg_hba.conf

Ändere die Standardkonfiguration mit den folgenden Zeilen. Dadurch wird die Passwortauthentifizierung von localhost auf’scram-sha-256‚ geändert. Für die ‚lokaleVerbindung kannst du die Standardeinstellung„peer“ oder die Passwortauthentifizierung„scram-sha-256“ verwenden.

# "local" is for Unix domain socket connections only
local   all             all                                     peer
# IPv4 local connections:
host    all             all             127.0.0.1/32            scram-sha-256
# IPv6 local connections:
host    all             all             ::1/128                 scram-sha-256

Speichere die Datei und beende den Editor, wenn du fertig bist.

Benutzerauthentifizierungsmethode einrichten

Als Nächstes führst du den folgenden systemctl-Befehl aus, um den PostgreSQL 15-Dienst neu zu starten und die Änderungen zu übernehmen.

sudo systemctl restart postgresql-15

Um deine Konfiguration zu überprüfen, melde dich mit dem unten stehenden Befehl in der PostgreSQL-Shell an.

sudo -u postgres psql

Überprüfe die Verbindungsdetails mit der unten stehenden Abfrage. Du solltest sehen, dass du dich mit PostgreSQL über die lokale Verbindung„peer“ unix_socket verbunden hast.

\conninfo

Verbindung verifizieren

Wenn du nun den PostgreSQL-Host als localhost 127.0.0.1 angibst, solltest du sehen, dass die Verbindung über die Passwortauthentifizierung mit scram-sha-256.

sudo -u postgres psql -U postgres -h 127.0.0.1
\conninfo

Einrichten des Passworts für den PostgreSQL-Benutzer

Standardmäßig erstellt PostgreSQL einen neuen Systembenutzer und den PostgreSQL-Benutzer mit dem Namen ‚postgres‚. In diesem Schritt richtest du ein neues Passwort für die beiden Linux-Benutzer ‚postgres‚ über die Kommandozeile und für den PostgreSQL-Benutzer ‚postgres‚ über die PostgreSQL-Shell.

Um zu beginnen, führe den folgenden Befehl aus, um ein neues Passwort für den Benutzer „postgres“ zu erstellen. Gib das neue Passwort ein und wiederhole es. Achte darauf, dass du ein sicheres Passwort für deinen ‚postgres‚ Benutzer.

sudo passwd postgres

Melde dich dann mit dem unten stehenden Befehl in der PostgreSQL-Shell an.

sudo -u postgres psql

Führe die folgende Abfrage aus, um das Passwort des StandardpostgreSQL-Benutzers ‚postgres‚. Achte darauf, dass du das Passwort in der folgenden Abfrage verwendest.

ALTER USER postgres WITH PASSWORD 'p4ssw0rdPostgreSQL15';
exit

Tippe ‚exit‚ ein, um dich von der PostgreSQL-Shell abzumelden.

setup passwort postgres benutzer

Melde dich mit dem unten stehenden Befehl erneut am PostgreSQL-Server an.

sudo -u postgres psql -U postgres -h 127.0.0.1

Wenn du nach dem Passwort gefragt wirst, gib das PostgreSQL-Serverpasswort ein, das du erstellt hast. Drücke dann ENTER.

Wenn die Anmeldung erfolgreich war, solltest du die PostgreSQL-Shell im folgenden Screenshot sehen. Du kannst den Verbindungsstatus auch mit der folgenden Abfrage überprüfen.

\conninfo

verifiziere den Benutzer postgres

In diesem Schritt hast du das Passwort für den Standard-PostgreSQL-Benutzer„postgres“ geändert und konfiguriert. Du hast auch ein neues Passwort für den UNIX-Standardbenutzer„postgres“ erstellt. Im nächsten Schritt erfährst du, wie du einen neuen PostgreSQL-Benutzer anlegst und eine neue Datenbank für deine Anwendung erstellst.

Neue Datenbank und Benutzer auf PostgreSQL erstellen

In diesem Schritt lernst du, wie du einen neuen PostgreSQL-Benutzer und eine neue Datenbank über die PostgreSQL-Shell anlegst. Außerdem erfährst du, wie du die Liste der auf dem PostgreSQL-Server verfügbaren Datenbanken und Benutzer überprüfen kannst.

Vergewissere dich zunächst, dass du in der PostgreSQL-Shell eingeloggt bist, oder melde dich mit dem unten stehenden Befehl an.

sudo -u postgres psql

Erstelle einen neuen PostgreSQL-Benutzer mit der unten stehenden Abfrage. In diesem Beispiel wird ein neuer Benutzer ‚alice‚ mit den Rechten ‚CREATEDB‚ zum Erstellen von Datenbanken und dem ‚CREATEROLE“ für das Erstellen von Rollen in PostgreSQL.

CREATE USER alice WITH CREATEDB CREATEROLE PASSWORD 'p4ssw0rdAlice';

Als Nächstes erstellst du eine neue Datenbank mit der unten stehenden PostgreSQL-Abfrage. In diesem Beispiel erstellst du zwei Datenbanken, die Datenbank„alice“ und die Datenbank„testdb„. Beide Datenbanken haben denselben Eigentümer, nämlich den Benutzer alice.

CREATE DATABASE alice OWNER alice;
CREATE DATABASE testdb OWNER alice;

Benutzer- und Daatbases erstellen

Überprüfe nun die Liste der Benutzer und die Liste der Datenbanken auf deinem PostgreSQL-Server.

\du
\l

Die Ausgabe der ‚\du‘ Abfrage zur Anzeige der Benutzerliste auf dem PostgreSQL-Server. Der neue Benutzer ‚alice‚ wird mit den Rechten CREATEDB und CREATEROLE.

Benutzer auflisten

Die Ausgabe des ‚\l‘ Abfrage zur Anzeige der Liste der Datenbanken auf dem PostgreSQL-Server. Du wirst sehen, dass die neuen Datenbanken alice und testdb erstellt wurden.

Datenbanken auflisten

Um den neuen PostgreSQL-Benutzer zu überprüfen, musst du dich mit dem neuen Benutzer „alice“ in der PostgreSQL-Shell anmelden.

Führe den folgenden Befehl aus, um dich in der PostgreSQL-Shell mit dem Benutzer ‚alice‚. Wenn du zur Eingabe des Passworts aufgefordert wirst, gibst du dein Passwort ein und bestätigst es mit ENTER.

sudo -u postgres psql -U alice -h 127.0.0.1

Nachdem du dich in der PostgreSQL-Shell angemeldet hast, führe die folgende Abfrage aus, um die aktuellen Detailverbindungen anzuzeigen.

\conninfo

Du solltest eine ähnliche Ausgabe erhalten wie diese – Du hast dich mit dem PostgreSQL-Server über den Benutzer ‚alice‚ und mit der Datenbank ‚alice‚.

Anmeldung beim Benutzer

Damit hast du nun PostgreSQL-Benutzer und -Datenbanken angelegt. Außerdem hast du dich über den neuen Benutzer in der PostgreSQL-Shell angemeldet. Im nächsten Schritt lernst du, wie du eine Tabelle erstellst und Daten in sie einfügst.

Tabelle erstellen und Daten einfügen

Nachdem du einen neuen PostgreSQL-Benutzer und eine neue Datenbank angelegt hast, lernst du jetzt, wie du eine Tabelle erstellst und Daten in PostgreSQL einfügst. Außerdem lernst du, wie du zu einer anderen PostgreSQL-Datenbank wechselst und wie du die Listentabellen in der PostgreSQL-Datenbank überprüfen kannst.

Bevor du beginnst, stelle sicher, dass du dich in der PostgreSQL-Shell als Benutzer ‚alice‚.

Überprüfe die Liste der Datenbanken, um sicherzustellen, dass die Datenbank„testdb“ verfügbar ist.

\l

Listendatenbank

Wechsle nun zur Datenbank ‚testdb‚ über die folgende Abfrage. Du kannst‚\connect‚ oder einfach‚\c‚ verwenden.

\connect testdb

Nachdem du zur Datenbank ‚testdb‘ gewechselt hast, sollte deine PostgreSQL-Shell wie folgt aussehen ‚testdb=>‚.

Als nächstes führst du die folgende Abfrage aus, um eine neue Tabelle ‚users‚ mit einigen Spalten id, Name, Alter, Adresseund Gehalt.

CREATE TABLE users (
   id INT PRIMARY KEY     NOT NULL,
   name           TEXT    NOT NULL,
   age            INT     NOT NULL,
   address        CHAR(50),
   salary         REAL
);

Die Ausgabe„CREATE TABLE“ bestätigt, dass die neue Tabelle in deiner Datenbank erstellt wurde.

Tabelle erstellen

Überprüfe nun die Liste der Tabelle in der aktuellen Datenbank mit der folgenden Abfrage. Du solltest sehen, dass die Tabelle ‚users‚ erstellt.

\dt

Listentische

Nachdem du die neue Tabelle erstellt hast, fügst du mit der INSERT-Abfrage einige Daten in die Tabelle ein.

Führe die folgende INSERT-Abfrage aus, um Daten in die Tabelle „users“ einzufügenusers‚.

INSERT INTO users (id,name,age,address,salary) VALUES (1, 'Paul', 32, 'California', 20000.00);
INSERT INTO users (id,name,age,address,salary) VALUES (2, 'Jesse', 35, 'Mexico', 30000.00);
INSERT INTO users (id,name,age,address,salary) VALUES (3, 'Linda', 27, 'Canada', 40000.00);

Die Ausgabe„INSERT 0 1“ bestätigt, dass die neuen Daten der Tabelle hinzugefügt wurden.

Daten einfügen

Nachdem du die Tabelle erstellt und einige Daten zu PostgreSQL hinzugefügt hast, lernst du, wie du Daten aus PostgreSQL abrufst und vorhandene Daten in PostgreSQL aktualisierst.

Abrufen von Daten und Aktualisieren von Daten

Nachdem du eine Tabelle in PostgreSQL erstellt und einige Daten mit der INSERT-Abfrage eingefügt hast, lernst du als Nächstes, wie du Daten mit der SELECT-Abfrage abrufst und wie du Daten in bestimmten Spalten mit der UPDATE-Abfrage aktualisieren oder ändern kannst.

Um Daten abzurufen, führst du die folgende PostgreSQL-Abfrage aus. Dadurch werden Daten aus der PostgresSQL-Tabelle ‚users‚.

SELECT * FROM users;

Du erhältst eine Ausgabe wie diese – Alle Daten in der Tabelle ‚users‚ werden in deiner PostgreSQL-Shell angezeigt.

Daten wiederherstellen

Du kannst auch Daten aus bestimmten Spalten mit der folgenden Abfrage abrufen. Diese Abfrage ruft Daten aus bestimmten Spalten ab Name, Alter und Gehalt.

SELECT name,age,salary FROM users;

Unten siehst du die Ausgabe, die du auf deinem Terminal erhalten wirst.

Abrufen von datenbezogenen Doppelspalten

Als Nächstes führst du die folgende UPDATE-Abfrage aus, um die Daten in der PostgreSQL-Datenbank zu ändern. Dadurch werden die Daten in der Spalte„Adresse“ auf„Schweden“ und in der Spalte„Name“ auf den Wert„Paul“ aktualisiert.

UPDATE users SET address = 'Sweden' WHERE name = 'Paul';

Die Ausgabe„UPDATE 1“ bestätigt, dass die Daten aktualisiert und geändert wurden.

Führe die folgende Abfrage aus, um sicherzustellen, dass die Daten in der Datenbank geändert wurden.

SELECT * FROM users;

Du erhältst eine ähnliche Ausgabe wie diese – Die Spalte ‚Adresse‚ wird aktualisiert für die Spalte ‚Name = Paul‚.

Daten über eine Aktualisierungsabfrage aktualisieren

An dieser Stelle hast du nun die grundlegende Verwendung der PostgreSQL-Abfrage zum Erstellen eines Benutzers, einer Datenbank, einer Tabelle, zum Einfügen von Daten, zum Abrufen von Daten und zum Aktualisieren von Daten auf dem PostgreSQL-Server gelernt.

Bereinigen der Umgebung

In diesem Schritt bereinigst du deine PostgreSQL 15 Serverumgebung, indem du die Datenbank und die Benutzer löschst, die du angelegt hast. Du hast also nicht nur die Installation von PostgreSQL 15 bereinigt, sondern auch gelernt, wie du deinen PostgreSQL-Server aufräumst, indem du unbenutzte Benutzer, Datenbanken und Tabellen löschst.

Bevor du loslegst, melde dich bei PostgreSQL als Standardbenutzer ‚postgres‚ Benutzer an.

sudo -u postgres psql

Wechsle zur Datenbank ‚testdb‚ und benutze die Abfrage‚\connect‚.

\connect testdb;

Führe die folgende Abfrage aus, um die Tabelle ‚users‚ zu löschen und dann die Liste der Tabellen in der aktuellen Datenbank zu überprüfen.

DROP TABLE users;
\dt

Die Ausgabe ‚Hat keine Beziehungen gefunden.“ bestätigt, dass die Tabelle ‚users‚ entfernt ist.

Tabelle löschen

Als Nächstes wechselst du zur Datenbank „postgres“ und löschst die Datenbanken „alice“ und „testdb“.

\connect postgres
DROP DATABASE alice;
DROP DATABASE testdb;

Überprüfe die Liste der Datenbanken mit der folgenden Abfrage. Du wirst sehen, dass beide Datenbanken ‚alice‚ und ‚testdb‚ vom PostgreSQL-Server entfernt wurden.

\l

Führe zum Schluss die folgende Abfrage aus, um den Benutzer alice zu löschen. Überprüfe dann die Liste der Benutzer auf dem PostgreSQL-Server.

DROP USER alice;
\du

Du erhältst die Ausgabe, dass der Benutzer„alice“ vom PostgreSQL-Server gelöscht wurde.

Damit hast du deinen PostgreSQL-Server aufgeräumt und außerdem die grundlegenden Abfragen zum Löschen von Benutzern, Datenbanken und Tabellen auf dem PostgreSQL-Server gelernt.

Fazit

In dieser Anleitung hast du gelernt, wie du die neueste Version von PostgreSQL 15 auf einem Rocky Linux 9 Server installierst. Du hast PostgreSQL über das offizielle PostgreSQL-Repository installiert und die grundlegende Konfiguration der PostgreSQL-Authentifizierung gelernt.

Außerdem hast du gelernt, wie man den PostgreSQL-Server benutzt. Dazu gehören das Anlegen eines Benutzers, das Ändern des Benutzerpassworts, das Anlegen einer Datenbank und einer Tabelle, das Einfügen von Daten, das Abfragen von Daten, das Aktualisieren von Daten und das Aufräumen des PostgreSQL-Servers durch das Entfernen einer nicht verwendeten Tabelle, Datenbank und eines Benutzers.

PostgreSQL ist ein RDBMS (Relational Database Management System) für Unternehmen, das vor allem in modernen Industrien im Internet eingesetzt wird. Vielleicht möchtest du als Nächstes andere Abfragen von PostgreSQL kennenlernen oder erfahren, wie du PostgreSQL mit mehreren Servern hochverfügbar machen kannst.

Das könnte dich auch interessieren …