PostgreSQL ist ein kostenloses und Open-Source-Datenbankverwaltungssystem, das sich auf Erweiterbarkeit und SQL-Konformität konzentriert. PostgreSQL ist ein fortschrittliches RDBMS (Relational Database Management System) der Enterprise-Klasse, das sowohl SQL (relational) als auch JSON (nicht relational) Abfragen unterstützt.
Es ist ein äußerst stabiles Datenbankverwaltungssystem, das auf mehr als 20 Jahren Entwicklung durch die Open-Source-Community basiert und unter Entwicklern und Systemadministratoren einen guten Ruf für seine Zuverlässigkeit, Flexibilität, Funktionsrobustheit und Leistung genießt.
PostgreSQL wird als primäre Datenbank für Webanwendungen, mobile Anwendungen und Analyseanwendungen verwendet. Einige bemerkenswerte PostgreSQL-Benutzer auf der ganzen Welt sind Reddit, Skype, Instagram, Disqus, The Guardian, Yandex, Bloomberg, Nokia, BMW usw.
In diesem Handbuch erfahren Sie, wie Sie die PostgreSQL-Datenbank unter Rocky Linux installieren, die Bereitstellung der PostgreSQL-Datenbank sichern und die grundlegende Verwendung von PostgreSQL-Abfragen zum Verwalten von Benutzern und Datenbanken lernen.
Voraussetzungen
- Ein Rocky Linux-System.
- Ein Benutzer mit Root- oder Sudo-Berechtigungen. Dieser Benutzer wird verwendet, um neue Pakete zu installieren und systemweit Änderungen vorzunehmen.
PostgreSQL-Repository hinzufügen
Für dieses Handbuch installieren Sie die neueste stabile Version von PostgreSQL v13.4. Diese Version ist im offiziellen PostgreSQL-Repository verfügbar, daher müssen Sie das PostgreSQL-Repository zu Ihrem Rocky Linux-System hinzufügen.
1. Fügen Sie das offizielle PostgreSQL-Repository für das Rocky Linux-System hinzu, indem Sie den folgenden Befehl ausführen.
sudo dnf install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-8-x86_64/pgdg-redhat-repo-latest.noarch.rpm
2. Führen Sie als Nächstes den folgenden Befehl aus, um zu überprüfen, ob das PostgreSQL-Repository auf Ihrem System verfügbar ist.
sudo dnf -qy repolist
Wenn das PostgreSQL-Repository auf Ihrem System verfügbar ist, sehen Sie mehrere Versionen von PostgreSQL-Repositorys wie im Screenshot unten.
Installieren von PostgreSQL 13 auf Rocky Linux
Um PostgreSQL aus dem offiziellen PostgreSQL-Repository (nicht aus dem Rocky Linux-Repository) installieren zu können, müssen Sie das integrierte PostgreSQL-Repository-Modul deaktivieren.
1. Führen Sie den folgenden Befehl unten aus, um das integrierte PostgreSQL-Modul-Repository zu deaktivieren.
sudo dnf module -qy disable postgresql
Der Befehl führt den DNF-Befehl im stillen Modus aus und akzeptiert alle gpg-Schlüssel (-qy-Option ) für PostgreSQL-Repositories.
2. Installieren Sie danach die neueste Version von PostgreSQL 13.4 aus dem PostgreSQL-Repository mit dem folgenden dnf-Befehl.
sudo dnf install postgresql13-server
Geben Sie 'y ein ' und drücken Sie 'Enter ', um PostgreSQL 13.x zu installieren.
Warten Sie dann auf die PostgreSQL-Installation.
Initialisierung der PostgreSQL-Datenbank
Als Nächstes müssen Sie nach Abschluss der PostgreSQL-Installation die PostgreSQL-Konfiguration initialisieren und dann den PostgreSQL-Dienst starten und aktivieren.
1. Führen Sie den folgenden Befehl aus, um die PostgreSQL-Datenbankkonfiguration zu initialisieren.
sudo /usr/pgsql-13/bin/postgresql-13-setup initdb
2. Danach starten und aktivieren Sie den PostgreSQL-Dienst mit dem folgenden Befehl.
sudo systemctl enable postgresql-13
sudo systemctl start postgresql-13
Jetzt ist der PostgreSQL-Dienst aktiv und wird ausgeführt, und er wird bei jedem Start automatisch ausgeführt.
3. Führen Sie nun den folgenden Befehl aus, um den PostgreSQL-Dienst zu überprüfen.
sudo systemctl status postgresql-13
Wenn Ihr PostgreSQL-Dienst ausgeführt wird, sehen Sie die grüne Ausgabe wie "active(running)" wie nachstehend. Andernfalls sehen Sie die rote Ausgabe wie „failed " gefolgt von den Fehlermeldungsprotokollen.
Sichern der PostgreSQL-Bereitstellung
Während der Installation erstellt PostgreSQL einen neuen Systembenutzer- und Datenbankbenutzernamen als „postgres ". Und für diese Phase richten Sie ein neues Passwort für die "postgres " Benutzer, beide für den Systembenutzer und Datenbankbenutzer .
1. Ändern Sie das Passwort für den Standardsystembenutzer "postgres " mit dem folgenden Befehl.
passwd postgres
Geben Sie nun das neue Passwort für den Systembenutzer "postgres" ein ".
2. Ändern Sie als Nächstes das Passwort für die Datei „postgres " Datenbankbenutzer müssen Sie sich bei der PostgreSQL-Shell anmelden.
Melden Sie sich zunächst als Systembenutzer „postgres“ an " mit dem folgenden Befehl.
su - postgres
Melden Sie sich jetzt mit dem folgenden psql-Befehl bei der PostgreSQL-Shell an.
psql
Führen Sie die folgende Abfrage aus, um ein neues Passwort für die standardmäßige „postgres " Datenbankbenutzer.
ALTER USER postgres WITH PASSWORD 'strongpostgrespassword';
Geben Sie nun exit ein und drücken Sie "Strg+d " zum Beenden und Abmelden von 'postgres ' Benutzer-Shell.
Authentifizierungsmethode ändern
Standardmäßig verbinden sich lokale PostgreSQL-Benutzer mit der „Peer“-Methode mit der PostgreSQL-Shell. Die Peer-Authentifizierungsmethode funktioniert nur für lokale Verbindungen. In der Entwicklungsumgebung können Sie diese Art der Authentifizierung verwenden, aber für die Produktion sollten Sie die kennwortbasierte Authentifizierungsmethode verwenden.
In dieser Phase lernen Sie, wie Sie die standardmäßige Peer-Authentifizierungsmethode mithilfe von „scram-sha-256“ in eine Kennwortauthentifizierung ändern '.
1. Melden Sie sich zunächst mit dem folgenden Befehl bei der PostgreSQL-Shell an.
sudo -u postgres psql
Führen Sie nun die folgende Abfrage aus, um den Speicherort der PostgreSQL-Konfiguration „pg_hba.conf“ zu überprüfen '.
SHOW hba_file;
SHOW password_encryption;
Sie werden die Ausgabe wie unten sehen.
Sie werden feststellen, dass sich die PostgreSQL-Konfiguration „pg_hba.conf“ unter „/var/lib/pgsql/13/data“ befindet '-Verzeichnis, und die standardmäßige Passwortverschlüsselung für PostgreSQL auf RHEL-basierten Betriebssystemen ist 'scram-sha-256 '.
Geben Sie nun '\q' ein, um die PostgreSQL-Shell zu verlassen und zu beenden.
2. Ändern Sie als Nächstes das Arbeitsverzeichnis in „/var/lib/pgsql/13/data ' und bearbeiten Sie die Konfiguration 'pg_hba.conf ' mit dem Nano-Editor.
cd /var/lib/pgsql/13/data/
nano pg_hba.conf
Ändern Sie unten in der Zeile die lokale Authentifizierungsmethode in „scram-sha-256“. ' wie unten.
# TYPE DATABASE-Benutzeradressenadmethode
# "Lokal" ist für Unix-Domänen-Socket-Verbindungen nur
lokales alle scram-sha-256
# IPv4 Lokale Verbindungen:
host alle alle 127.0.0.1/32 scram-sha-256
# Lokale IPv6-Verbindungen:
host alle alle alle alle ::1/128Drücken Sie nun 'Strg+x ', geben Sie 'y ein ', und drücken Sie "Enter " zum Speichern und Beenden.
Bei dieser Konfiguration werden Sie zur Eingabe des Kennworts aufgefordert, um sich bei der PostgreSQL-Shell anzumelden.
3. Wenden Sie als Nächstes die neue Konfiguration an, indem Sie den PostgreSQL-Dienst mit dem folgenden Befehl neu starten.
sudo systemctl restart postgresql-13Jetzt müssen Sie jedes Mal, wenn Sie auf die PostgreSQL-Shell zugreifen möchten, das Passwort zur Authentifizierung eingeben.
4. Um die Konfiguration der Kennwortauthentifizierung sicherzustellen, melden Sie sich mit dem folgenden Befehl bei der PostgreSQL-Shell an.
su - postgres
psqlNun werden Sie nach einem Passwort für den Standardbenutzer 'postgres gefragt '.
Geben Sie das Passwort für „postgres“ ein ' Datenbankbenutzer und drücken Sie 'Enter '. Wenn Ihr Passwort korrekt ist, sehen Sie die PostgreSQL-Shell wie folgt. Andernfalls sehen Sie die Meldung „FATAL ' Fehler, weil das Passwort falsch ist.
Außerdem können Sie den einzeiligen Befehl verwenden, um sich wie folgt bei der PostgreSQL-Shell anzumelden.
# Als standardmäßiger "postgres"-Benutzer anmelden
sudo -u postgres psql
# Als anderer Benutzer anmelden
sudo -u postgres psql -U Benutzername
Erstellen eines neuen Benutzers und einer neuen Datenbank für Ihre Anwendung
In dieser Phase lernen Sie, wie Sie einen neuen Benutzer und eine neue Datenbank auf PostgreSQL erstellen.
1. Melden Sie sich bei der PostgreSQL-Shell an, indem Sie den folgenden Befehl ausführen.
sudo -u postgres psqlGeben Sie nun das Passwort für den PostgreSQL-Benutzer „postgres“ ein '.
2. Führen Sie die folgende PostgreSQL-Abfrage aus, um einen neuen Benutzer „johndoe“ mit dem Passwort „johndoestrongpassword“ zu erstellen, und geben Sie dem Benutzer Berechtigungen zum Erstellen einer neuen Datenbank und Rolle.
ERSTELLE BENUTZER johndoe MIT
CREATEDB
CREATEROLE
PASSWORT 'johndoestrongpassword';
Verifizieren Sie danach den neuen Benutzer mit der folgenden Abfrage.
\duJetzt sehen Sie den neuen Benutzer „johndoe“ mit der Rollenliste „Rolle erstellen ' und 'DB erstellen ' wie unten.
3. Führen Sie als Nächstes die folgende Abfrage aus, um eine neue Benutzerdatenbank auf PostgreSQL zu erstellen.
DATENBANK ERSTELLEN johndoe EIGENTÜMER johndoe;Überprüfen Sie nun die neue Datenbank mit der folgenden Abfrage.
\lUnd Sie werden die neue Datenbank „johndoe“ mit dem Besitzer „johndoe“ sehen, wie der Screenshot unten zeigt.
Tabelle erstellen und Daten einfügen
Nachdem Sie eine neue Datenbank und einen neuen Benutzer erstellt haben, lernen Sie, wie Sie eine Tabelle erstellen, Daten eingeben und Daten aus der Datenbank anzeigen.
1. Melden Sie sich nun mit dem folgenden Befehl als Benutzer „johndoe“ bei der PostgreSQL-Shell an.
su - postgres
psql -U johndoeOder Sie können den einzeiligen Befehl wie unten verwenden.
sudo -u postgres psql -U johndoeGeben Sie nun das Passwort für den PostgreSQL-Benutzer „johndoe“ ein ' und drücken Sie 'Enter ' um sich anzumelden.
Wie Sie auf dem Screenshot sehen können, sind Sie jetzt bei der PostgreSQL-Shell in der Datenbank „johndoe=>“ angemeldet '.
2. Führen Sie nun die folgende Abfrage aus, um eine neue Tabelle „Benutzer“ mit einigen Spalten „ID, Name, Alter, Adresse und Gehalt“ zu erstellen.
CREATE TABLE Nutzer (
ID INT PRIMARY KEY NOT NULL,
Name TEXT NOT NULL,
Alter INT NOT NULL,
Adresse CHAR(50),
Gehalt REAL
);Um verfügbare Tabellen in der aktuellen Datenbank anzuzeigen, verwenden Sie das '\d ' Abfrage als 'describe ' wie unten.
\dUm Spalten in der Tabelle anzuzeigen, können Sie dieselbe Abfrage verwenden, gefolgt vom Tabellennamen wie unten.
\d BenutzerUnten sehen Sie eine ähnliche Ausgabe, die Sie erhalten werden.
3. Fügen Sie als Nächstes neue Daten zur Tabelle hinzu, indem Sie auf „Einfügen“ klicken ' Abfrage wie unten.
INSERT INTO Benutzer (ID,Name,Alter,Adresse,Gehalt) VALUES (1, 'Paul', 32, 'California', 20000,00);
INSERT INTO Benutzer (ID,Name,Alter,Adresse, Gehalt) WERTE (2, 'Jesse', 35, 'Mexiko', 30000,00);
INSERT INTO Benutzer (ID, Name, Alter, Adresse, Gehalt) WERTE (3, 'Linda', 27, 'Kanada' , 40000,00);
4. Danach können Sie sich alle verfügbaren Daten mit 'auswählen anzeigen lassen ' Abfrage wie unten.
SELECT * FROM Benutzer;Die Option '*' wird alle Spalten innerhalb der Tabelle ausgeben.
Um die Spalte festzulegen, können Sie die 'Auswahl verwenden ' Abfrage wie unten.
WÄHLEN Sie Name, Alter, Gehalt VON Benutzern AUS;Sie werden eine ähnliche Ausgabe wie unten sehen.
Schlussfolgerung
Herzliche Glückwünsche! Jetzt haben Sie gelernt, wie Sie PostgreSQL unter Rocky Linux installieren. Außerdem haben Sie gelernt, wie Sie PostgreSQL auf sichere Weise (minimal) bereitstellen, und die grundlegende Verwendung von PostgreSQL-Abfragen zum Verwalten von Benutzern, Datenbanken und Tabellen.