Wie man PostgreSQL unter Ubuntu 24.04 installiert und verwendet

Wie man PostgreSQL unter Ubuntu 24.04 installiert und verwendet

PostgreSQL (Postgres kurz: Postgres) ist ein quelloffenes, leistungsfähiges, fortschrittliches, hochleistungsfähiges und stabiles relationales Dokumentdatenbanksystem, das die SQL-Sprache erweitert und eine Vielzahl von Funktionen für die sichere Datenspeicherung und -verwaltung enthält.

Es ist effizient, zuverlässig und skalierbar für die Verarbeitung großer, komplizierter Datenmengen und die Einrichtung von unternehmensweiten und fehlertoleranten Umgebungen, wobei eine hohe Datenintegrität gewährleistet ist.

Postgres ist mit Funktionen wie erweiterter Indizierung und Volltextsuche äußerst erweiterbar und verfügt über APIs, so dass Sie Ihre eigenen Lösungen für Ihre Datenspeicherprobleme entwickeln können.

In diesem Artikel wird erklärt, wie Sie Folgendes installieren PostgreSQL 18 (das gerade am 25. September 2025) zu einem Ubuntu 24.04 LTS Server und lernen Sie, wie Sie ihn effektiv nutzen können.

Wie installiert man PostgreSQL auf Ubuntu 24.04

PostgreSQL wird im Paket mit allen Ubuntu Versionen standardmäßig. Wie auch immer, Ubuntu enthält ein spezielles “Snapshot” von PostgreSQL die für den gesamten Lebenszyklus dieser Datei fest bleibt Ubuntu Veröffentlichung.

Wenn Sie Zugang zu neueren PostgreSQL Versionen, dann können Sie das folgende automatische Repository-Konfigurationsskript verwenden, das automatisch die offiziellen PostgreSQL Apt Repository.

sudo apt install -y postgresql-common ca-certificates
sudo /usr/share/postgresql-common/pgdg/apt.postgresql.org.sh

Aktualisieren Sie nun die Paketliste und installieren Sie PostgreSQL (die neueste Version ist PostgreSQL 18 ab heute):

sudo apt update
sudo apt install postgresql-18 postgresql-contrib-18

Wie man PostgreSQL unter Ubuntu 24.04 installiert und verwendet

Installieren Sie pgAdmin 4 für die PostgreSQL-Verwaltung

Wenn Sie eine grafische Oberfläche für die Verwaltung Ihrer PostgreSQL Datenbanken, können Sie installieren pgAdmin 4, die offizielle PostgreSQL Verwaltungswerkzeug, mit dem Sie Datenbanken, Benutzer, Abfragen und vieles mehr verwalten können – alles über ein webbasiertes Dashboard.

Auf Ubuntu 24.04, pgAdmin 4 ist in den Standard-Repositories nicht verfügbar, daher verwenden wir das offizielle pgAdmin Repository.

sudo apt install -y curl ca-certificates gnupg
curl -fsS https://www.pgadmin.org/static/packages_pgadmin_org.pub | sudo gpg --dearmor -o /usr/share/keyrings/packages-pgadmin-org.gpg
sudo sh -c 'echo "deb [signed-by=/usr/share/keyrings/packages-pgadmin-org.gpg] https://ftp.postgresql.org/pub/pgadmin/pgadmin4/apt/$(lsb_release -cs) pgadmin4 main" > /etc/apt/sources.list.d/pgadmin4.list && apt update'

Sobald die pgAdmin Repository hinzugefügt wurde, können Sie Folgendes installieren pgAdmin 4 wie gezeigt.

# Install for both desktop and web modes
sudo apt install pgadmin4

# Install for desktop mode only
sudo apt install pgadmin4-desktop

# Install for web mode only 
sudo apt install pgadmin4-web 

# Configure the webserver, if you installed pgadmin4-web:
sudo /usr/pgadmin4/bin/setup-web.sh

Nach der Installation wird die PostgreSQL Dienst sollte automatisch starten, und Sie können seinen Status bestätigen, indem Sie ihn ausführen:

sudo systemctl status postgresql

So aktivieren Sie den Start von PostgreSQL beim Booten (falls nicht bereits aktiviert):

sudo systemctl enable postgresql

Nachdem Sie dies ausgeführt haben, können Sie pgAdmin in Ihrem Browser unter:

http://127.0.0.1/pgadmin4

pgAdmin Verwaltungswerkzeug für PostgreSQL

Wie man PostgreSQL-Rollen und -Datenbanken verwendet

Unter PostgreSQLwird die Client-Authentifizierung durch die Option /etc/postgresql/18/main/pg_hba.conf Konfigurationsdatei gesteuert (die Versionsnummer kann je nach Ihrer Installation unterschiedlich sein).

Die Standard-Authentifizierungsmethode ist "peer" für den Datenbankadministrator, d.h. es wird der Betriebssystem-Benutzername des Clients abgefragt und geprüft, ob er mit dem angeforderten Datenbank-Benutzernamen übereinstimmt, um den Zugriff für lokale Verbindungen zu ermöglichen.

Während des Installationsprozesses wird ein Systembenutzerkonto namens postgres ohne Kennwort angelegt, das auch der Standardbenutzername des Datenbankadministrators ist.

sudo nano /etc/postgresql/18/main/pg_hba.conf

Verstehen der PostgreSQL-Rollen

Unter PostgreSQLwird die Verwaltung der Datenbankzugriffsrechte über Rollen. Eine Rolle kann entweder als ein Datenbankbenutzer oder als eine Gruppe von Datenbankbenutzern betrachtet werden, je nachdem, wie die Rolle eingerichtet ist.

Die Standardrolle ist auch postgres. Wichtig ist, dass Datenbankrollen konzeptionell nichts mit Betriebssystembenutzern zu tun haben, aber in der Praxis können sie miteinander verbunden sein (insbesondere zu Authentifizierungszwecken).

Rollen können:

  • Datenbankobjekte (Tabellen, Ansichten, Funktionen usw.) besitzen.
  • Anderen Rollen Privilegien auf diese Objekte zuweisen.
  • Die Mitgliedschaft in einer Rolle einer anderen Rolle gewähren (Rollenvererbung).

Verschlüsselte Passwörter für PostgreSQL-Rollen aktivieren

Um Rollen so zu konfigurieren, dass sie verschlüsselte Passwörter anstelle der Peer-Authentifizierung verwenden, müssen Sie die pg_hba.conf Datei ändern. Ändern Sie die Authentifizierungsmethode von peer in scram-sha-256 (die moderne sichere Methode) oder md5 für die Passwortauthentifizierung.

sudo nano /etc/postgresql/18/main/pg_hba.conf

Suchen Sie die Zeilen, die wie folgt aussehen:

# TYPE  DATABASE        USER            ADDRESS                 METHOD
local   all             all                                     peer

Und ändern Sie in:

# TYPE  DATABASE        USER            ADDRESS                 METHOD
local   all             postgres                                peer
local   all             all                                     scram-sha-256

Damit bleibt peer Authentifizierung für die postgres Benutzer, erfordert aber Passwörter für andere Benutzer.

Konfigurieren Sie PostgreSQL-Rollen mit verschlüsselten Passwörtern

Starten Sie dann die PostgreSQL Dienst, um die Änderungen zu übernehmen:

sudo systemctl restart postgresql

Wie man PostgreSQL unter Ubuntu verwendet

Sobald alles eingerichtet ist, können Sie auf die postgres Systemkonto mit dem folgenden Befehl, wobei das -i Flagge angibt sudo die durch den Eintrag in der Passwortdatenbank des Zielbenutzers angegebene Shell als Login-Shell auszuführen.

sudo -i -u postgres
psql    # to launch the postgres shell program

Um direkt auf die postgres-Shell zuzugreifen, ohne vorher auf das postgres-Benutzerkonto zuzugreifen, führen Sie aus:

sudo -u postgres psql

Sie können die postgres-Shell beenden/verlassen, indem Sie eingeben q oder durch Drücken von Ctrl+D.

q

Anmeldung beim PostgreSQL-Systemkonto

PostgreSQL-Datenbank-Rollen erstellen

Erstellen Sie eine neue Benutzerrolle mit dem folgenden Befehl:

CREATE ROLE tecmint;

So erstellen Sie eine Rolle mit einer LOGIN Attribut (Rollen mit dem LOGIN Attribut kann als dasselbe betrachtet werden wie ein Datenbankbenutzer):

CREATE ROLE tecmint LOGIN;

Oder verwenden Sie das CREATE USER Befehl, der die Login-Funktion standardmäßig übernimmt:

CREATE USER tecmint;

Eine Rolle mit Passwort erstellen

Eine Rolle kann auch mit einem Kennwort erstellt werden, was wichtig ist, wenn Sie die Client-Authentifizierungsmethode so konfiguriert haben, dass verschlüsselte Kennwörter erforderlich sind:

CREATE ROLE tecmint WITH LOGIN PASSWORD 'secure_password_here';

Oder Sie verwenden die CREATE USER Syntax:

CREATE USER tecmint WITH PASSWORD 'secure_password_here';

Eine Rolle mit zusätzlichen Berechtigungen erstellen

Sie können eine Rolle mit Superuser-Rechten erstellen (Vorsicht):

CREATE ROLE admin WITH LOGIN PASSWORD 'admin_password' SUPERUSER;

Oder erstellen Sie eine Rolle, die Datenbanken erstellen kann:

CREATE ROLE developer WITH LOGIN PASSWORD 'dev_password' CREATEDB;

Vorhandene PostgreSQL-Datenbank-Rollen auflisten

Um die vorhandenen Benutzerrollen aufzulisten, verwenden Sie einen der folgenden Befehle:

du              -- shows actual users with details

Oder:

SELECT rolname FROM pg_roles;

Für ausführlichere Informationen:

du+

PostgreSQL-Datenbank-Rollen modifizieren

Um das Passwort einer Rolle zu ändern:

ALTER ROLE tecmint WITH PASSWORD 'new_password';

Um einer bestehenden Rolle Superuser-Rechte zu gewähren:

ALTER ROLE tecmint WITH SUPERUSER;

So entziehen Sie Superuser-Privilegien:

ALTER ROLE tecmint WITH NOSUPERUSER;

Löschen einer PostgreSQL-Datenbank-Rolle

Um eine bestehende Benutzerrolle zu löschen, verwenden Sie die DROP ROLE Befehl:

DROP ROLE tecmint;

Hinweis: Sie können eine Rolle, die Datenbankobjekte besitzt, nicht löschen, Sie müssen diese Objekte zuerst neu zuweisen oder löschen.

Erstellen einer PostgreSQL-Datenbank

Sobald Sie eine Rolle mit einem bestimmten Namen erstellt haben (zum Beispiel tecmint user), können Sie eine Datenbank erstellen, die von dieser Rolle verwaltet wird:

CREATE DATABASE tecmint;

So erstellen Sie eine Datenbank, die einer bestimmten Rolle gehört:

CREATE DATABASE tecmint OWNER tecmint;

So erstellen Sie eine Datenbank mit einer bestimmten Kodierung:

CREATE DATABASE tecmint ENCODING 'UTF8' LC_COLLATE='en_US.UTF-8' LC_CTYPE='en_US.UTF-8' OWNER tecmint;

Berechtigungen für eine Rolle erteilen

Nachdem Sie die Datenbank erstellt haben, gewähren Sie der Rolle alle Berechtigungen:

GRANT ALL PRIVILEGES ON DATABASE tecmint TO tecmint;

Nun zur Verwaltung der Datenbank tecmintgreifen Sie auf die postgres-Shell als tecmint Rolle:

psql -U tecmint -d tecmint

Wenn Sie zur Eingabe eines Passworts aufgefordert werden, geben Sie das Passwort ein, das Sie für die Rolle festgelegt haben.

Erstellen einer PostgreSQL-Tabelle

Wir erstellen eine Testtabelle namens authors, in der Informationen über TecMint.com Autoren speichert:

CREATE TABLE authors (
    code      SERIAL PRIMARY KEY,
    name      VARCHAR(40) NOT NULL,
    city      VARCHAR(40) NOT NULL,
    joined_on DATE NOT NULL
);

Hinweis: We’re verwenden SERIAL für den Primärschlüssel, der automatisch fortlaufende Nummern generiert, was praktischer ist als die manuelle Zuweisung von Codes.

Daten in PostgreSQL-Tabelle einfügen

Nachdem Sie eine Tabelle erstellt haben, füllen Sie diese mit einigen Daten auf:

INSERT INTO authors (name, city, joined_on) VALUES 
    ('Ravi Saive', 'Mumbai', '2012-08-15'),
    ('Aaron Kili', 'Nairobi', '2014-03-20'),
    ('Matei Cezar', 'Bucharest', '2015-06-10');

Abfrage von Daten aus einer PostgreSQL-Tabelle

Um die in einer Tabelle gespeicherten Daten anzuzeigen, führen Sie einen SELECT-Befehl aus:

SELECT * FROM authors;

Für bestimmte Spalten:

SELECT name, city FROM authors;

Mit Filterung:

SELECT * FROM authors WHERE city = 'Mumbai';

Mit Bestellung:

SELECT * FROM authors ORDER BY joined_on DESC;

Daten in PostgreSQL-Tabelle aktualisieren

Um bestehende Daten zu ändern:

UPDATE authors SET city = 'Delhi' WHERE name = 'Ravi Saive';

Daten aus einer PostgreSQL-Tabelle löschen

Um bestimmte Zeilen zu entfernen:

DELETE FROM authors WHERE name = 'Ravi Saive';

PostgreSQL-Datenbanktabellen auflisten

Sie können alle Tabellen in der aktuellen Datenbank mit auflisten:

dt

Für weitere Informationen:

dt+

Um die Tabellenstruktur zu sehen:

d authors

PostgreSQL-Tabellenstruktur ändern

Um eine neue Spalte zu einer bestehenden Tabelle hinzuzufügen:

ALTER TABLE authors ADD COLUMN email VARCHAR(100);

Um eine Spalte zu löschen:

ALTER TABLE authors DROP COLUMN email;

Um eine Spalte umzubenennen:

ALTER TABLE authors RENAME COLUMN code TO author_id;

Löschen/Löschen einer PostgreSQL-Tabelle

Um eine Tabelle in der aktuellen Datenbank zu löschen:

DROP TABLE authors;

Löschen mit Kaskade (entfernt abhängige Objekte):

DROP TABLE authors CASCADE;

Alle PostgreSQL-Datenbanken auflisten

Um alle Datenbanken aufzulisten, verwenden Sie einen der folgenden Befehle:

SELECT datname FROM pg_database;

Oder für eine detaillierte Beschreibung:

list

Oder die Kurzform:

l

Löschen/Löschen einer PostgreSQL-Datenbank

Wenn Sie eine Datenbank löschen möchten:

DROP DATABASE tecmint;

Warnung: Dadurch werden alle Daten in der Datenbank dauerhaft gelöscht.

Zu einer anderen PostgreSQL-Datenbank wechseln

Sie können leicht von einer Datenbank zu einer anderen wechseln:

connect database_name

Oder die Kurzform:

c database_name

PostgreSQL für den Fernzugriff konfigurieren

Standardmäßig, PostgreSQL akzeptiert nur Verbindungen von localhost.

Um Fernverbindungen zuzulassen, müssen Sie Folgendes bearbeiten postgresql.conf Datei.

sudo nano /etc/postgresql/18/main/postgresql.conf

Finden Sie die Zeile:

#listen_addresses = 'localhost'

Ändern Sie sie in:

listen_addresses = '*'

Als nächstes bearbeiten Sie pg_hba.conf Datei.

sudo nano /etc/postgresql/18/main/pg_hba.conf

Fügen Sie eine Zeile hinzu, die Verbindungen aus Ihrem Netzwerk erlaubt (ersetzen Sie 192.168.1.0/24 durch Ihr Netzwerk):

# TYPE  DATABASE        USER            ADDRESS                 METHOD
host    all             all             192.168.1.0/24          scram-sha-256

Oder von jeder IP aus (weniger sicher):

host    all             all             0.0.0.0/0               scram-sha-256

Erlauben Sie PostgreSQL durch die Firewall:

sudo ufw allow 5432/tcp

Starten Sie schließlich PostgreSQL neu.

sudo systemctl restart postgresql

Grundlegende Leistungsoptimierung von PostgreSQL

Für eine bessere Leistung auf Ubuntu 24.04können Sie diese Einstellungen in postgresql.conf:

sudo nano /etc/postgresql/18/main/postgresql.conf

Empfohlene Änderungen (je nach RAM Ihres Servers anpassen):

shared_buffers = 256MB              # 25% of RAM
effective_cache_size = 1GB          # 50-75% of RAM
maintenance_work_mem = 64MB
checkpoint_completion_target = 0.9
wal_buffers = 16MB
default_statistics_target = 100
random_page_cost = 1.1
effective_io_concurrency = 200
work_mem = 4MB

Starten Sie PostgreSQL nach den Änderungen neu:

sudo systemctl restart postgresql

PostgreSQL-Datenbanken sichern und wiederherstellen

Um eine einzelne Datenbank zu sichern:

pg_dump -U postgres tecmint > tecmint_backup.sql

Um alle Datenbanken zu sichern.

pg_dumpall -U postgres > all_databases_backup.sql

So stellen Sie eine Datenbank wieder her.

psql -U postgres tecmint < tecmint_backup.sql

Nützliche PostgreSQL-Befehlsreferenz

Hier’s eine Kurzreferenz von häufig verwendeten PostgreSQL Befehle:

BefehlBeschreibung
l oder listAlle Datenbanken auflisten
c dbnameVerbindung zu einer Datenbank herstellen
dtAlle Tabellen auflisten
d tablenameBeschreiben Sie die Tabellenstruktur
duAlle Rollen/Benutzer auflisten
dnAlle Schemata auflisten
dfAlle Funktionen auflisten
dvAlle Ansichten auflisten
timingAbfragezeitpunkt umschalten
xUmschalten der erweiterten Anzeige
i filenameAusführen von Befehlen aus einer Datei
qpsql beenden
hHilfe zu SQL-Befehlen
?Hilfe zu psql-Befehlen
Schlussfolgerung

Das war’s! In diesem Artikel haben wir erklärt, wie Sie das Programm PostgreSQL Datenbankmanagementsystem auf Ubuntu 24.04 LTS.

Wir haben die Installation, die Benutzerverwaltung, die Datenbankoperationen, die Konfiguration des Fernzugriffs, die Leistungsoptimierung und die Sicherungsstrategien behandelt. Sie können uns Ihre Fragen oder Gedanken in den Kommentaren unten mitteilen.

Weitere Informationen finden Sie in der PostgreSQL 18 Offizielle Dokumentationoder erkunden Sie nützliche Websites zum Erlernen von PostgreSQL.

Share the Post:

Related Posts