So installieren Sie PostgreSQL 16 unter Ubuntu 24.04, 22.04 oder 20.04

PostgreSQL 16 stellt ein bedeutendes Update in der Welt der Datenbankverwaltungssysteme dar. PostgreSQL 16 wurde am 14. September 2023 offiziell veröffentlicht und führt viele neue Funktionen und Verbesserungen ein, die seine Position als robuste und vielseitige Datenbanklösung für Benutzer, Administratoren und Entwickler stärken.

Nachfolgend sind einige der wichtigsten Funktionen von PostgreSQL 16 aufgeführt:

  • Verbesserungen bei der Parallelisierung: PostgreSQL 16 ermöglicht die Parallelisierung von FULL- und internen rechten OUTER-Hash-Joins, was die Abfrageleistung erheblich verbessert.
  • Replikationsverbesserungen: Es führt die Möglichkeit zur logischen Replikation von Standby-Servern ein und ermöglicht Abonnenten, große Transaktionen parallel durchzuführen.
  • Überwachungsfunktionen: Durch das Hinzufügen der Ansicht pg_stat_io ist eine detailliertere Überwachung der E/A-Statistiken möglich.
  • SQL/JSON-Unterstützung: Diese Version führt SQL/JSON-Konstruktoren und Identitätsfunktionen ein und erweitert so die Datenverarbeitungsfunktionen.
  • Vakuumgefrierleistung: PostgreSQL 16 verbessert die Leistung des Vakuum-Einfrierens und unterstützt so eine effiziente Datenbankwartung.
  • Übereinstimmung mit regulären Ausdrücken: Die reguläre Ausdrucksübereinstimmung für Benutzer- und Datenbanknamen in pg_hba.conf und Benutzernamen in pg_ident.conf verbessert die Sicherheit und Flexibilität.

Fahren wir nun mit der technischen Anleitung fort und vertiefen uns in den Installationsprozess von PostgreSQL 16.

Voraussetzungen für die Installation von PostgreSQL 16

Um PostgreSQL 16 erfolgreich auf Ubuntu zu installieren, stellen Sie sicher, dass Sie die folgenden Anforderungen erfüllen:

Empfohlene Hardware und unterstützte Ubuntu-Versionen

KomponenteErfordernis
Prozessor1 Gigahertz (GHz) oder schnellerer kompatibler Prozessor
RAM2 GB oder mehr
Festplattenplatz512 MB Festplatte (zusätzlicher Speicherplatz für Daten oder unterstützende Komponenten erforderlich)
Unterstützte VersionenUbuntu 24.04 (Noble), Ubuntu 22.04 (Jammy), Ubuntu 20.04 (Focal)

Zusätzliche Anforderungen

ErfordernisBeschreibung
InternetverbindungErforderlich zum Herunterladen von PostgreSQL 16 und zukünftigen Updates.
TerminalkonventionenAlle Terminalbefehle sollten als normaler Benutzer ausgeführt werden mit sudo Berechtigungen.
CLI-BefehleVerwenden Sie für die Installation und Einrichtung die Befehlszeilenschnittstelle (CLI).

PostgreSQL APT-Repository importieren

Aktualisieren Sie Ubuntu vor der Installation von PostgreSQL 16

Stellen Sie zunächst sicher, dass Ihr Ubuntu-System auf dem neuesten Stand ist. Dieser Schritt ist entscheidend für die Aufrechterhaltung der Systemstabilität und -kompatibilität:

sudo apt update

Aktualisieren Sie als Nächstes alle Pakete, die veraltet sind:

sudo apt upgrade

Installieren Sie erste Pakete für PostgreSQL 16

Installieren Sie zur Unterstützung der Installation der Datenbanksoftware die folgenden Pakete:

sudo apt install dirmngr ca-certificates software-properties-common apt-transport-https lsb-release curl -y

PostgreSQL 16 APT-Repository hinzufügen

Importieren Sie zunächst den PostgreSQL GPG-Schlüssel. So stellen Sie sicher, dass die Pakete, die Sie installieren möchten, authentisch und unverfälscht sind:

curl -fSsL https://www.postgresql.org/media/keys/ACCC4CF8.asc | gpg --dearmor | sudo tee /usr/share/keyrings/postgresql.gpg > /dev/null

Auswahl des richtigen PostgreSQL 16-Repository

Jetzt ist es an der Zeit, das geeignete PostgreSQL 16-Repository für Ihre Anforderungen auszuwählen.

Stabiles Repository für Produktion/allgemeine Nutzung

Das stabile Repository ist für die meisten Benutzer die erste Wahl, insbesondere in einer Produktionsumgebung. Es wird regelmäßig mit stabilen und sicheren Versionen aktualisiert:

echo deb [arch=amd64,arm64,ppc64el signed-by=/usr/share/keyrings/postgresql.gpg] http://apt.postgresql.org/pub/repos/apt/ $(lsb_release -cs)-pgdg main | sudo tee /etc/apt/sources.list.d/postgresql.list

Snapshot- oder Test-Repositorys für Entwickler

Wenn Sie sich in der Entwicklungs- oder Testphase befinden, sollten Sie Snapshot- oder Test-Repositorys in Betracht ziehen. Bedenken Sie jedoch, dass diese aufgrund ihrer geringeren Stabilität nicht für den Einsatz in der Produktion geeignet sind.

Snapshot-Repository für modernste Tests

Die neusten Schnappschüsse gibt es hier:

echo deb [arch=amd64,arm64,ppc64el signed-by=/usr/share/keyrings/postgresql.gpg] http://apt.postgresql.org/pub/repos/apt/ $(lsb_release -cs)-pgdg-snapshot main | sudo tee /etc/apt/sources.list.d/postgresql.list
Test-Repository für die neuesten Features

Um die neuesten Funktionen zu testen, können Sie sich mit diesem Befehl einrichten:

echo deb [arch=amd64,arm64,ppc64el signed-by=/usr/share/keyrings/postgresql.gpg] http://apt.postgresql.org/pub/repos/apt/ $(lsb_release -cs)-pgdg-testing main | sudo tee /etc/apt/sources.list.d/postgresql.list

Installieren Sie PostgreSQL 16 über Terminalbefehle

Liste der APT-Paketindexquellen aktualisieren

Nachdem Sie entweder das stabile oder das Test-PostgreSQL-Repository hinzugefügt haben, ist es wichtig, Ihre Repository-Quellenliste zu aktualisieren. Diese Aktion stellt sicher, dass Ihr System das neu hinzugefügte PostgreSQL-Repository erkennt:

sudo apt update

Installieren Sie PostgreSQL 16 über den APT-Befehl

Fahren wir nun mit der Installation von PostgreSQL 16 fort. Dieser Befehl installiert sowohl den PostgreSQL-Client als auch den PostgreSQL-Server:

sudo apt install postgresql-client-16 postgresql-16

Überprüfen der PostgreSQL-Installation

Sobald die Installation abgeschlossen ist, ist es wichtig, zu bestätigen, dass PostgreSQL korrekt installiert und ausgeführt wird. Dieser Befehl überprüft den Status des PostgreSQL-Dienstes:

systemctl status postgresql

Aktivieren von PostgreSQL 16

Wenn PostgreSQL nicht aktiv ist, verwenden Sie diesen Befehl, um den PostgreSQL-Dienst zu starten. Dadurch wird auch sichergestellt, dass PostgreSQL automatisch mit Ihrem System gestartet wird:

sudo systemctl enable postgresql --now

Verwalten des PostgreSQL 16-Dienstes

Stoppen des PostgreSQL 16-Servers

Um den PostgreSQL-Dienst vorübergehend anzuhalten, beispielsweise für Wartungsarbeiten oder Konfigurationsänderungen, verwenden Sie diesen Befehl:

sudo systemctl stop postgresql

Starten des PostgreSQL 16-Servers

Wenn Sie bereit sind, den PostgreSQL-Dienst zu starten, insbesondere nach einem Stopp oder einer Erstinstallation, ist dieser Befehl praktisch:

sudo systemctl start postgresql

Neustart des PostgreSQL 16-Servers

In Szenarien, in denen Sie Konfigurationen oder Updates geändert haben, ist häufig ein Neustart erforderlich. Dieser Befehl startet den PostgreSQL-Dienst neu und wendet alle neuen Änderungen an:

sudo systemctl restart postgresql

Neuladen des PostgreSQL 16-Servers

Um den PostgreSQL-Dienst neu zu laden, ohne seinen Betrieb zu unterbrechen, verwenden Sie diesen Befehl. Er ist nützlich, wenn Sie kleinere Konfigurationsänderungen vornehmen müssen:

sudo systemctl reload postgresql

Überprüfen des PostgreSQL 16-Status

Um den Betriebsstatus des PostgreSQL-Dienstes zu überprüfen, einschließlich der Frage, ob er aktiv ist und ohne Probleme ausgeführt wird, verwenden Sie:

systemctl status postgresql

Aktivieren von PostgreSQL 16 beim Systemstart

Wenn PostgreSQL nicht auf automatischen Start eingestellt ist, wird es durch diesen Befehl aktiviert und stellt sicher, dass es sofort und bei nachfolgenden Systemstarts aktiv ist:

sudo systemctl enable postgresql --now

Grundlegende Beispielbefehle mit PostgreSQL 16

Zugriff auf das Postgres-Benutzerkonto

In PostgreSQL ist der Benutzer „postgres“ eine Standard-Superuser-Rolle. Dieses Konto ist für die Ausführung administrativer Befehle von entscheidender Bedeutung. Um zu diesem Konto zu wechseln, verwenden Sie:

sudo -i -u postgres

Sobald Sie sich im Konto befinden, rufen Sie die PostgreSQL-Befehlszeilenschnittstelle auf:

psql

Die Eingabeaufforderung postgres=# bestätigt Ihre Verbindung zur PostgreSQL-Umgebung. Zum Beenden geben Sie einfach ein exit.

Schneller Zugriff auf PostgreSQL ohne Benutzerwechsel

Für schnelle Vorgänge ohne Änderung des Benutzerkontos greifen Sie direkt auf PostgreSQL zu:

sudo -u postgres psql

Dieser Befehl spart Zeit bei Routineaufgaben. Um diese Schnittstelle zu verlassen, geben Sie ein exit.

Erstellen einer neuen PostgreSQL-Benutzerrolle

Dank der Flexibilität von PostgreSQL können Superuser Benutzerrollen erstellen. Um eine neue Benutzerrolle zu erstellen, geben Sie diesen Befehl ein:

sudo su - postgres -c "createuser <username>"

Ersetzen <username> mit Ihrem gewünschten Benutzernamen.

Initiieren einer neuen PostgreSQL-Datenbank

So richten Sie eine neue Datenbank für Ihren Benutzer ein:

sudo su - postgres -c "createdb <database_name>"

Ersetzen <database_name> durch den gewünschten Namen für Ihre Datenbank.

Zuweisen von Benutzerberechtigungen zu einer Datenbank

Datenbankzugriffe sicher zuweisen:

sudo -u postgres psql
GRANT ALL PRIVILEGES ON DATABASE <database_name> TO <username>;

Ersatz <database_name> Und <username> nach Bedarf. Geben Sie abschließend exit.

Konfigurieren Sie die UFW-Firewall für PostgreSQL 16

Installieren und Aktivieren der UFW-Firewall

Stellen Sie sicher, dass die UFW (Uncomplicated Firewall) auf Ihrem System installiert und aktiviert ist. Die UFW vereinfacht die Firewall-Verwaltung und ist für die Sicherung des Netzwerkverkehrs unerlässlich:

sudo apt install ufw
sudo ufw enable

Einrichten von UFW-Regeln für PostgreSQL 16

PostgreSQL kommuniziert standardmäßig über Port 5432. Es ist notwendig, UFW so zu konfigurieren, dass Datenverkehr über diesen Port zugelassen wird, insbesondere bei Verbindungen von Remotestandorten.

Subnetzzugriff zulassen

Um den Zugriff auf einen IP-Adressbereich innerhalb eines Subnetzes zu ermöglichen, verwenden Sie diesen Befehl:

sudo ufw allow proto tcp from 192.168.1.0/24 to any port 5432

Ersetzen 192.168.1.0/24 mit Ihrem spezifischen Subnetzbereich.

Individuellen IP-Zugriff zulassen

Um Zugriff auf PostgreSQL von einer einzelnen IP-Adresse aus zu gewähren, verwenden Sie:

sudo ufw allow proto tcp from 192.168.1.0 to any port 5432

Ändern 192.168.1.0 an die IP-Adresse, die Sie zulassen möchten.

Dies sind nur einfache Beispiele. Sie sollten erwägen, öffentlich zugängliche Datenbanken langfristig so weit wie möglich zu sperren.

PostgreSQL 16 konfigurieren

Aktivieren Sie den Remotezugriff in PostgreSQL 16

Um PostgreSQL für die Annahme von Remoteverbindungen zu konfigurieren, muss die Abhöradresse der lokalen Standardschnittstelle angepasst werden.

Ändern der Konfiguration für den Remotezugriff

Greifen Sie auf die PostgreSQL-Konfigurationsdatei zu:

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

Ändern Sie im Abschnitt „Verbindungseinstellungen“ listen_addresses = 'localhost' auf Ihre spezifischen Bedürfnisse zugeschnitten:

  • Ersetzen Sie „localhost“ durch die gewünschte IP-Adresse für eine einzelne IP.
  • Um Verbindungen auf allen Schnittstellen zuzulassen, verwenden Sie listen_addresses = '*'.

Nachdem Sie Änderungen vorgenommen haben, speichern Sie mit STRG+O und beenden Sie mit STRG+X. Starten Sie PostgreSQL anschließend neu:

sudo systemctl restart postgresql

Überprüfen Sie die Änderungen mit:

ss -nlt | grep 5432

In der Ausgabe sollte Port 5432 aktiv sein.

Konfigurieren von pg_hba.conf für erhöhte Sicherheit

Bearbeiten Sie die pg_hba.conf Datei zur Feinabstimmung der Zugriffskontrolle:

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

Anpassen des Benutzer- und Datenbankzugriffs

In pg_hba.confkönnen Sie angeben, welche Benutzer und Datenbanken eine Verbindung herstellen können und von welchen Adressen aus. Hier sind einige gängige Konfigurationen:

  • Benutzerspezifischer Zugriff: Ersetzen Sie „alle“ durch einen bestimmten Benutzernamen, um den Zugriff auf diesen Benutzer zu beschränken.
  • Datenbankspezifischer Zugriff: Geben Sie eine bestimmte Datenbank an, anstatt den Zugriff auf alle Datenbanken zu erlauben.
  • Adressbeschränkungen: Definieren Sie bestimmte IP-Adressen oder Bereiche (z. B. 192.168.1.0/24), um einzuschränken, wo Verbindungen entstehen können.

Auswählen von Authentifizierungsmethoden

PostgreSQL unterstützt verschiedene Authentifizierungsmethoden:

  • MD5: Erfordert ein Passwort und verschlüsselt es mit MD5.
  • Passwort: Verwendet Passwörter im Klartext (weniger sicher, für die Produktion nicht empfohlen).
  • Peer: Basiert auf der Benutzeridentität auf Betriebssystemebene (üblich für lokale Verbindungen).
  • Ident: Ähnlich wie „Peer“, wird normalerweise für Netzwerkverbindungen verwendet.
  • SCRAM-SHA-256: Eine sicherere Methode, empfohlen gegenüber MD5 oder Passwort.

Tuning-Leistung in postgresql.conf

Zur Leistungsoptimierung berücksichtigen Sie diese Einstellungen in postgresql.conf:

  • gemeinsame_Puffer: Passt die Speichermenge an, die PostgreSQL für gemeinsam genutzte Speicherpuffer verwendet.
  • Arbeitsspeicher: Legt den für interne Sortier- und Hashvorgänge verwendeten Speicher fest.
  • Max_Verbindungen: Steuert die maximale Anzahl gleichzeitiger Verbindungen zur Datenbank.

Überwachung und Diagnose

Aktivieren Sie die ausführliche Protokollierung, um Einblicke in die Datenbankleistung und Probleme zu erhalten:

  • log_statement: Auf „alle“ setzen, um jede ausgeführte SQL-Anweisung zu protokollieren.
  • log_dauer: Wenn aktiviert, wird die Dauer jeder abgeschlossenen SQL-Anweisung protokolliert.

Abschluss

Wir haben gerade eine umfassende Anleitung zum Einrichten von PostgreSQL 16 unter Ubuntu durchgearbeitet, die alles von der Installation und Konfiguration des Fernzugriffs bis hin zur Erhöhung der Sicherheit mit Firewall-Regeln abdeckt. Denken Sie daran: Es ist zwar großartig, PostgreSQL einsatzbereit zu haben, der eigentliche Schlüssel liegt jedoch in regelmäßigen Wartungs- und Sicherheitsüberprüfungen.

Nützliche Links

Hier sind einige hilfreiche Links zur Installation von PostgreSQL 16 auf Ubuntu Linux:

  • Versionshinweise zu PostgreSQL 16: Lesen Sie die Versionshinweise zu PostgreSQL 16, um mehr über neue Funktionen, Verbesserungen und Fehlerbehebungen zu erfahren.
  • PostgreSQL GitHub-Repository: Besuchen Sie das offizielle PostgreSQL-GitHub-Repository, um auf den Quellcode zuzugreifen, Probleme zu melden und zur Entwicklung beizutragen.
  • PostgreSQL-Dokumentation: Greifen Sie auf die umfassende PostgreSQL-Dokumentation zu, um detaillierte Anleitungen zur Installation, Konfiguration und Verwendung zu erhalten.
  • PostgreSQL-Community: Treten Sie der PostgreSQL-Community bei, um sich mit anderen Benutzern zu vernetzen, an Diskussionen teilzunehmen und Unterstützung zu erhalten.
Joshua James
Folgen Sie mir
Letzte Artikel von Joshua James (Alle anzeigen)

Hinterlasse einen Kommentar