Schritt-für-Schritt-Anleitung: Installation von PostgreSQL auf AlmaLinux 9

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

PostgreSQL ist ein hochstabiles Datenbankmanagementsystem, das seit über 20 Jahren von der Open-Source-Community entwickelt wird und bei Entwicklern und Systemadministratoren für seine Zuverlässigkeit, Flexibilität, Robustheit und Leistung bekannt ist.

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

In diesem Tutorium lernst du, wie du PostgreSQL unter AlmaLinux 9 installierst. Außerdem erfährst du, wie du die PostgreSQL-Authentifizierung einrichtest, die grundlegende Verwendung von PostgreSQL zum Anlegen von Datenbanken und Benutzern und einige grundlegende Abfragen zum Erstellen von Tabellen, Einfügen und Abrufen von Daten, Aktualisieren und Löschen.

Voraussetzungen

Um zu beginnen, musst du die folgenden Voraussetzungen erfüllen:

  • Einen AlmaLinux 9 Server.
  • Einen Nicht-Root-Benutzer mit sudo/root-Administrator-Rechten.

Hinzufügen des PostgreSQL-Repositorys

Das AlamLinux-Repository enthält standardmäßig PostgreSQL-Pakete. Um jedoch das meiste von PostgreSQL zu bekommen, kannst du PostgreSQL aus dem PostgreSQL Repository installieren. So stellst du sicher, dass du auch die neueste Version von PostgreSQL installieren kannst.

Im ersten Schritt fügst du das PostgreSQL-Repository zu deinem AlmaLinux 9 Server hinzu. Du kannst das PostgreSQL rpository auf der PostgreSQL Downloadseite auswählen.

Repository auswählen

Füge das PostgreSQL Repository für RHEL 9 mit dem folgenden Befehl hinzu. Dieses Repository kann für Linux-Distributionen verwendet werden, die von RHEL 9 abgeleitet sind, einschließlich CentOS 9 und AlmaLinux 9.

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

Repository hinzufügen

Sobald das Repository hinzugefügt wurde, führe den folgenden Befehl aus, um die Liste der verfügbaren Repositories auf deinem System zu überprüfen. Wenn du erfolgreich bist, solltest du mehrere PostgreSQL-Pakete für verschiedene Versionen erhalten.

sudo dnf repolist

Auflistung der Repositories

Führe nun den folgenden Befehl aus, um die AlmaLinux Repositories zu aktualisieren und die neueste Version der Paket-Cache-Informationen zu erhalten.

sudo dnf makecache -y

Installation von PostgreSQL

Nachdem du das PostgreSQL-Repository hinzugefügt hast, kannst du die PostgreSQL-Serverpakete installieren. Du kannst PostgreSQL 11, 12, 13, 14 und die neueste Version 15 über das offizielle PostgreSQL installieren.

Der zweite Schritt ist die Installation der neuesten Version von PostgreSQL 15 auf dem AlmaLinux 9 Server.

Führe den folgenden dnf-Befehl aus, um PostgreSQL 15 auf deinem AlmaLinux Server zu installieren. Gib y ein, wenn du dazu aufgefordert wirst, und drücke ENTER, um mit der Installation fortzufahren.

sudo dnf install postgresql15 postgresql15-server postgresql15-contrib

postgresql 15 installieren

Nachdem du PostgreSQL installiert hast, führe den folgenden Befehl aus, um die PostgreSQL-Daten und -Konfigurationen zu initialisieren.

sudo /usr/pgsql-15/bin/postgresql-15-setup initdb

Datenbank initialisieren

Führe nun den folgenden systemctl-Befehl aus, um den PostgreSQL 15-Dienst zu starten und zu aktivieren. Dadurch wird der PostgreSQL-Dienst am Standardport 5432 gestartet und der PostgreSQL-Dienst wird beim Systemstart automatisch ausgeführt.

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

Führe abschließend den folgenden Befehl aus, um den PostgreSQL-Dienst zu überprüfen und sicherzustellen, dass der Dienst läuft.

sudo systemctl status postgresql-15

Wenn er läuft, solltest du eine Ausgabe wie„active (running)“ sehen.

Postgresql-Dienst überprüfen

Grundlegende PostgreSQL-Authentifizierung

Es ist wichtig, die PostgreSQL-Authentifizierung zu kennen, damit du sicherstellen kannst, dass sich deine PostgreSQL-Benutzer für die Anwendung anmelden und auf die Datenbank zugreifen können. Es gibt mehrere PostgreSQL-Authentifizierungsmethoden, darunter peer, trust, md5 und scram-sha-256. Du kannst die PostgreSQL-Authentifizierung über die Konfiguration „pg_hba.conf“ einrichten und anpassen, die sich im Verzeichnis „/var/lib/pgsql/VERSION/data/“ befindet.

Führe den Befehl cat aus, um die Standarddatei„pg_hba.conf“ anzuzeigen.

cat /var/lib/pgsql/15/data/pg_hba.conf

In der untersten Zeile solltest du die Standardkonfiguration wie folgt sehen:

Standard-Passwort Authentifizierung postgresql

Das bedeutet, dass für jede lokale Verbindung die Peer-Authentifizierungsmethode verwendet wird, d.h. die Verwendung eines Unix-Sockets. Wenn du dich mit dem folgenden Befehl mit PostgreSQL verbindest, wird die lokale Verbindung über die Peer-Authentifizierungsmethode und den Unix-Socket hergestellt.

sudo -u postgres psql

Wenn du jedoch den Host des PostgreSQL-Servers wie„-h localhost“ und den Benutzer„-U postgres“ angibst, stellst du die Verbindung über die scram-sha-256 Passwortauthentifizierung her, wie im folgenden Befehl.

sudo -u postgres psql -h localhost -U postgres

Da du das Passwort für den Standardbenutzer postgres nicht hast, bekommst du eine Fehlermeldung wie diese:

Prüfung der Authentifizierung

Passwort postgres-Benutzer ändern

In diesem Abschnitt wirst du das Passwort für den Standard-PostgreSQL-Benutzer„postgres“ einrichten und ändern.

Melde dich zunächst über die lokale Authentifizierung am PostgreSQL-Server an.

sudo -u postgres psql

Führe die folgende Abfrage aus, um das Passwort für den Standardbenutzer„postgres“ einzurichten, und beende sie dann mit„quit„. Achte außerdem darauf, dass du das folgende Passwort mit deinem Passwort änderst.

ALTER ROLE postgres WITH PASSWORD 'NewP4ssw0rd';
quit

Standardpasswort postgres ändern

Nachdem du das Passwort für den Benutzer„postgres“ geändert hast, führe den folgenden Befehl aus, um dein Passwort zu überprüfen. Wenn du dazu aufgefordert wirst, gib dein Passwort für den„postgres„-Benutzer ein.

sudo -u postgres psql -h localhost -U postgres

Wenn du eingeloggt bist, führe die folgende Abfrage aus, um die detaillierte Verbindung zu überprüfen. Du solltest sehen, dass du dich mit dem PostgreSQL-Server„localhost“ mit dem Benutzer„postgres“ mit der Zieldatenbank„postgres“ verbunden hast.

\conninfo

Überprüfung der Passwort-Authentifizierung

Benutzer und Datenbank auf PostgreSQL erstellen

In diesem Abschnitt erfährst du, wie du einen neuen Benutzer und eine neue Datenbank auf PostgreSQL anlegst, also lass uns loslegen.

Du musst sicherstellen, dass du dich über den Client „psql“ bei PostgreSQL angemeldet hast. Du kannst dich mit dem folgenden Befehl anmelden.

sudo -u postgres psql -h localhost -U postgres

Führe nun die folgende Abfrage aus, um einen neuen PostgreSQL mit dem Namen„appuser“ und dem Passwort„p4ssAppuser“ zu erstellen. Wenn die Abfrage erfolgreich war, solltest du eine Ausgabe wie„CREATE ROLE“ erhalten.

CREATE USER appuser LOGIN CREATEDB PASSWORD 'p4ssAppuser';

Führe die folgende Abfrage aus, um die Liste der Benutzer in PostgreSQL zu überprüfen. Wenn die Abfrage erfolgreich war, sollte der neue Benutzer„appuser“ in der Benutzerliste erscheinen.

\du

Rolle postgresql erstellen

Gib„quit“ ein, um den PostgreSQL-Server zu verlassen.

quit

Als Nächstes führst du den folgenden Befehl aus, um dich mit dem neuen Benutzer„appuser“ mit dem PostgreSQL-Server und der Zieldatenbank„postgres“ zu verbinden. Wenn du dazu aufgefordert wirst, gib das Passwort für den Benutzer„appuser“ ein.

sudo -u postgres psql -h localhost -U appuser -d postgres

Sobald du eingeloggt bist, führe die folgende Abfrage aus, um die aktuelle Verbindung zu überprüfen. Du solltest sehen, dass du dich mit dem neuen Benutzer„appuser“ bei PostgreSQL und der Datenbank„postgres“ angemeldet hast.

\conninfo

Benutzer postgresql prüfen

Führe nun die folgende Abfrage aus, um eine neue Datenbank„appdb“ mit dem Standardbesitzer„appuser“ zu erstellen.

CREATE DATABASE appdb OWNER appuser;

Überprüfe dann die Liste der verfügbaren Datenbanken auf deinem PostgreSQL-Server. Wenn die Abfrage erfolgreich war, sollte die Datenbank„appdb“ mit dem Eigentümer„appuser“ auf PostgreSQL verfügbar sein.

\l

Datenbank erstellen und verifizieren

Du kannst nun mit der Abfrage„\connect“ von der Datenbank„postgres“ zur neuen Datenbank„appdb“ wechseln. Überprüfe dann deine aktuelle Verbindung.

\connect appdb;
\conninfo

Jetzt solltest du zur neuen Datenbank„appdb“ gewechselt sein.

Datenbank wechseln

Gib „quit“ ein, um den PostgreSQL-Server zu verlassen, und überprüfe dann die Verbindung zur neuen Datenbank„appdb“ über den Benutzer„appuser“ mit dem folgenden Befehl.

sudo -u postgres psql -h localhost -U appuser -d appdb

Gib dein Passwort für „appuser“ ein, wenn du dazu aufgefordert wirst. Überprüfe nach dem Einloggen den Verbindungsstatus.

\conninfo

Du solltest sehen, dass du dich mit der neuen Datenbank„appdb“ über den Benutzer„appuser“ verbunden hast.

Verbindung zu neuer Datenbank mit neuem Benutzer

Jetzt hast du eine Datenbank und einen Benutzer auf PostgreSQL erstellt, die für deine Anwendung bereit sind. Außerdem lernst du im nächsten Abschnitt, wie du eine Tabelle erstellst und Daten in PostgreSQL einfügst und abrufst.

Tabelle erstellen

Nachdem du eine neue Datenbank erstellt hast, lernst du, wie du Tabellen in PostgreSQL erstellen kannst.

Führe in der Datenbank„appdb“ die folgende Abfrage aus, um eine neue Tabelle „Lehrer“ mit den Spalten„Name“, „Alter“, „Adresse“ und „Gehalt“ zu erstellen.

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

Führe nun die folgende Abfrage aus, um alle verfügbaren Tabellen in der Datenbank„appdb“ anzuzeigen, und du solltest die Tabelle„teachers“ sehen, die du erstellt hast.

\dt

Tabelle erstellen und anzeigen

Überprüfe abschließend die verfügbaren Spalten der Tabelle „teachers“ mit der folgenden Abfrage. Du solltest Spalten wie id, Name, Alter, Adresse und Gehalt sehen.

\d+ teachers

Spalten in der Tabelle anzeigen

Daten in die Tabelle einfügen

Nachdem du die Tabelle „Lehrer“ erstellt hast, lernst du nun, wie du Daten in PostgreSQL einfügen kannst.

Führe die folgenden Abfragen aus, um neue Daten in die Tabelle„teachers“ einzufügen. Wenn du erfolgreich bist, solltest du eine Ausgabe wie INSERT 0 1 erhalten.

INSERT INTO teachers (id,name,age,address,salary) VALUES (1, 'Lea', 25, 'California', 20000.00);
INSERT INTO teachers (id,name,age,address,salary) VALUES (2, 'Lin', 35, 'Germany', 30000.00);
INSERT INTO teachers (id,name,age,address,salary) VALUES (3, 'Lisa', 27, 'Canada', 40000.00);

Daten einfügen postgresql

Abrufen von Daten in PostgreSQL

Als Nächstes führst du die SELECT-Abfrage aus, um Daten aus der Tabelle„Lehrer“ abzurufen. Dadurch werden alle verfügbaren Daten aus den verfügbaren Spalten der Tabelle abgerufen.

SELECT * FROM teachers;

Daten wiederherstellen postgresql

Du kannst SELECT auch verwenden, um Daten aus bestimmten Spalten abzurufen, wie hier. Im folgenden Beispiel rufst du Daten aus der Spalte „Name“ und „Gehalt“ ab.

SELECT name,salary FROM teachers;

Daten wiederherstellen spezifische Spalte

Aktualisieren von Daten in PostgreSQL

Führe die folgende Abfrage aus, um die aktuellen Daten in der Tabelle„Lehrer“ zu aktualisieren. Dadurch wird die Spalte„Adresse“ aktualisiert, wobei die Spalte„Name„Lisa“ lautet. Bei Erfolg solltest du eine Ausgabe wie UPDATE 1 erhalten.

UPDATE teachers SET address = 'France' WHERE name = 'Lisa';

Führe nun die folgende Abfrage aus, um die neu aktualisierten Daten zu überprüfen. Du solltest sehen, dass die Spalte„Adresse“ in„Frankreich“ für den Namen„Lisa“ geändert wurde.

SELECT * FROM teachers WHERE name = 'Lisa';

Daten aktualisieren postgresql

Datenbank und Benutzer löschen

Um deine Umgebung zu bereinigen, löschst du die Datenbank und den Benutzer, die du angelegt hast. Du löschst die Datenbank „appdb“ und den Benutzer „appuser“ von deinem PostgreSQL-Server.

Zuerst musst du mit der folgenden Abfrage zur Datenbank„postgres“ wechseln.

\connect postgres

Führe die folgende Abfrage aus, um die Datenbank„appdb“ zu löschen. Überprüfe dann die Liste der Datenbanken auf deinem PostgreSQL-Server und die Datenbank„appdb“ sollte entfernt sein.

DROP DATABASE appdb
\l

Datenbank fallen lassen

Gib nun„quit“ ein, um deine aktuelle Sitzung als„appuser“ zu beenden. Dies ist notwendig, bevor du den Benutzer„appuser“ aus PostgreSQL löschst.

quit

Als Nächstes loggst du dich mit dem folgenden Befehl als PostgreSQL-Standardbenutzer„postgres“ ein.

sudo -u postgres psql

Sobald du eingeloggt bist, löschst du den Benutzer„appuser“ mit der folgenden Abfrage. Wenn du erfolgreich warst, solltest du eine Ausgabe wie DROP ROLE erhalten.

DROP user appuser;

Überprüfe nun die Liste der verfügbaren Benutzer in PostgreSQL mit der folgenden Abfrage. Der Benutzer„appuser“ sollte von PostgreSQL gelöscht werden.

Benutzer löschen

Damit hast du deine PostgreSQL-Serverinstallation aufgeräumt.

Fazit

Herzlichen Glückwunsch! Mit dieser Anleitung hast du nun PostgreSQL auf AlmaLinux 9 installiert. Du hast die neueste Version von PostgreSQL 15 aus dem offiziellen PostgreSQL-Repository auf AlmaLinux 9 installiert. Außerdem hast du die grundlegende Authentifizierungsmethode von PostgreSQL kennengelernt, wie du dich über die Befehlszeile des PostgreSQL-Clients psql mit PostgreSQL verbindest und wie du ein Passwort für den Standard-PostgreSQL-Benutzer„postgres“ einrichtest. Zu guter Letzt hast du auch einige grundlegende PostgreSQL-Abfragen zum Erstellen von Datenbanken, Benutzern und Tabellen, zum Einfügen und Abrufen von Daten sowie zum Aktualisieren und Löschen von Daten gelernt.

Das könnte dich auch interessieren …