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

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

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.

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

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:
| Befehl | Beschreibung |
|---|---|
l oder list | Alle Datenbanken auflisten |
c dbname | Verbindung zu einer Datenbank herstellen |
dt | Alle Tabellen auflisten |
d tablename | Beschreiben Sie die Tabellenstruktur |
du | Alle Rollen/Benutzer auflisten |
dn | Alle Schemata auflisten |
df | Alle Funktionen auflisten |
dv | Alle Ansichten auflisten |
timing | Abfragezeitpunkt umschalten |
x | Umschalten der erweiterten Anzeige |
i filename | Ausführen von Befehlen aus einer Datei |
q | psql beenden |
h | Hilfe 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.

