PostgreSQL Installation und Absicherung auf Ubuntu 20.04

PostgreSQL ist ein leistungsstarkes, quelloffenes relationales Datenbankmanagementsystem (RDBMS), das für vielfältige Datenanforderungen geeignet ist. Mit Hilfe von Structured Query Language (SQL) verwaltet es Daten effizient in Anwendungen jeder Größe – von Analyseplattformen über GIS-Systeme und Lösungen im Gesundheitswesen bis hin zu dynamischen Webanwendungen.

In dieser Anleitung erfahren Sie, wie Sie PostgreSQL auf einem Ubuntu 20.04 Server installieren, den Datenbankdienst aktivieren und für den Produktionseinsatz absichern.

Voraussetzungen

Bevor Sie beginnen, stellen Sie Folgendes sicher:

  • Ein Ubuntu 20.04 Server ist verfügbar.
  • Sie haben SSH-Zugriff auf den Server als Nicht-Root-Benutzer mit sudo-Rechten.
  • Der Server ist mit den neuesten Paketinformationen aktualisiert.

PostgreSQL installieren

PostgreSQL kann aus den Standard-APT-Repositories von Ubuntu installiert werden. Befolgen Sie diese Schritte, um die Datenbankserver-Pakete einzurichten und den Dienst so zu konfigurieren, dass er beim Systemstart automatisch startet.

Paketindex des Servers aktualisieren

Abhängigkeit postgresql-common installieren

$ sudo apt install -y postgresql-common -y

PostgreSQL APT-Repository aktivieren

$ sudo /usr/share/postgresql-common/pgdg/apt.postgresql.org.sh

Drücken Sie Enter, wenn Sie aufgefordert werden, das neue Repository zu den Systemquellen hinzuzufügen.

Dieses Skript aktiviert das PostgreSQL APT-Repository (apt.postgresql.org) auf Ihrem System. Der verwendete Distributionscodename ist noble-pgdg.

Drücken Sie Enter zum Fortfahren oder Strg-C zum Abbrechen.

Datenbankserver-Paket installieren

$ sudo apt install -y postgresql

PostgreSQL-Dienst starten

$ sudo systemctl start postgresql

Status des PostgreSQL-Dienstes prüfen

$ sudo systemctl status postgresql

Erwartete Ausgabe:

● postgresql.service - PostgreSQL RDBMS
    Loaded: loaded (/usr/lib/systemd/system/postgresql.service; enabled; preset: enabled)
    Active: active (exited) since Mon 2024-05-27 16:09:21 UTC; 35s ago
    Process: 5601 ExecStart=/bin/true (code=exited, status=0/SUCCESS)
Main PID: 5601 (code=exited, status=0/SUCCESS)
        CPU: 3ms

PostgreSQL-Server absichern

PostgreSQL verwendet standardmäßig das privilegierte Benutzerkonto postgres. Um die Sicherheit zu erhöhen, aktivieren Sie die Passwortauthentifizierung und stellen Sie sicher, dass nur autorisierte Nutzer Zugriff haben.

Installierte PostgreSQL-Version prüfen

Erwartete Ausgabe:

psql (PostgreSQL) 17.4 (Ubuntu 17.4-1.pgdg20.04+2)

Als Benutzer postgres anmelden

Sicheres Passwort für Standardbenutzer setzen

postgres=# ALTER USER postgres WITH ENCRYPTED PASSWORD 'strong_password';

Neuen Benutzer mit Passwort erstellen

postgres=# CREATE USER db_manager ENCRYPTED PASSWORD 'strong_password';

PostgreSQL-Konsole verlassen

Passwortauthentifizierung aktivieren

Um die Peer-Authentifizierung durch scram-sha-256 zu ersetzen, bearbeiten Sie die Hauptkonfigurationsdatei pg_hba.conf:

$ sudo sed -i '/^local/s/peer/scram-sha-256/' /etc/postgresql/17/main/pg_hba.conf

Falls Ihre installierte Version abweicht, ersetzen Sie 17 im Pfad durch die richtige Versionsnummer.

PostgreSQL-Dienst neu starten

$ sudo systemctl restart postgresql

Zugriff auf den PostgreSQL-Server

Das Dienstprogramm psql, das mit dem Serverpaket vorinstalliert ist, ermöglicht den Zugriff auf die PostgreSQL-Konsole. Alternativ können auch grafische Datenbank-Clients verwendet werden. Im Folgenden sehen Sie die Schritte, um sich mit PostgreSQL zu verbinden und eine Beispieldatenbank für einen nicht privilegierten Benutzer anzulegen.

Beispieldatenbank erstellen

Erstellen Sie eine neue Datenbank mit dem Namen hospital und geben Sie dem Benutzer db_manager Eigentumsrechte:

$ sudo -u postgres createdb hospital -O db_manager

Geben Sie bei Aufforderung das zuvor vergebene Postgres-Benutzerpasswort ein.

Datenbankzugriff testen

Melden Sie sich als db_manager bei PostgreSQL an und verbinden Sie sich mit der Datenbank hospital:

$ sudo -u postgres psql -U db_manager -d hospital

Geben Sie das Passwort für db_manager ein und drücken Sie Enter, um Zugriff zu erhalten.

Tabelle doctors erstellen

Erstellen Sie in der Datenbank eine Tabelle mit dem Namen doctors:

hospital=> CREATE TABLE doctors (
           doctor_id SERIAL PRIMARY KEY,
           first_name VARCHAR(50),
           last_name VARCHAR(50),
           appointment_date DATE
       );

Diese SQL-Anweisung erstellt eine Tabelle mit folgender Struktur:

  • doctor_id ist der Primärschlüssel und stellt sicher, dass jeder Eintrag eindeutig ist.
  • first_name und last_name speichern die Namen der Ärzte.
  • appointment_date erfasst das Datum der Patienten-Termine.
  • SERIAL generiert automatisch IDs für neue Datensätze.

Beispieldaten einfügen

Fügen Sie Beispiel-Datensätze in die Tabelle doctors ein:

hospital=> INSERT INTO doctors
       ( first_name, last_name, appointment_date)
       VALUES
       ( 'Ben', 'Joe', '2024-11-15'),
       ( 'Carson', 'Smith', '2024-02-28'),
       ( 'Donald', 'James', '2024-04-10');

Abfrage der Tabelle doctors

Rufen Sie alle Datensätze aus der Tabelle doctors ab:

hospital=> SELECT * FROM doctors;

Erwartete Ausgabe:

doctor_id | first_name | last_name | appointment_date
-----------+------------+-----------+------------------
       1 | Ben        | Joe       | 2024-11-15
       2 | Carson     | Smith     | 2024-02-28
       3 | Donald     | James     | 2024-04-10
(3 rows)

Konsole beenden

Um die PostgreSQL-Konsole zu verlassen, führen Sie folgenden Befehl aus:

Fazit

PostgreSQL ist nun vollständig auf Ihrem Ubuntu 20.04 Server installiert und betriebsbereit. Sie haben mit psql auf die Datenbank zugegriffen, eine Beispieldatenbank erstellt, Tabellen definiert und Datensätze eingefügt. PostgreSQL kann jetzt in Ihre Anwendungen integriert werden, um Daten sicher zu verwalten. Weitere Informationen finden Sie in der offiziellen PostgreSQL-Dokumentation.

Quelle: vultr.com

Jetzt 200€ Guthaben sichern

Registrieren Sie sich jetzt in unserer ccloud³ und erhalten Sie 200€ Startguthaben für Ihr Projekt.

Das könnte Sie auch interessieren:

Moderne Hosting Services mit Cloud Server, Managed Server und skalierbarem Cloud Hosting für professionelle IT-Infrastrukturen

Passbolt auf Linux installieren & sicher konfigurieren

Security, Tutorial
Passbolt auf Linux-Distributionen installieren und einrichten Passbolt ist ein Open-Source-Passwortmanager, der die sichere Speicherung und Verwaltung von Passwörtern sowie sensiblen Daten mit Ende-zu-Ende-Verschlüsselung ermöglicht. Er funktioniert hauptsächlich als Browser-Erweiterung für…