PostgreSQL auf Ubuntu 22.04 installieren

PostgreSQL ist ein Open-Source-System und eines der beliebtesten relationalen Datenbankmanagementsysteme. Es implementiert die Abfragesprache SQL und bietet hohe Stabilität, Leistung und Datenintegrität. Du kannst die PostgreSQL-Datenbank nutzen, um geschäftskritische Anwendungen zu betreiben. PostgreSQL verfügt über Funktionen wie Nest-Transaktionen, Multiversions-Gleichzeitigkeitskontrolle, Tabellenvererbung, asynchrone Replikation, referentielle Integrität von Fremdschlüsseln und vieles mehr.

Dieser Beitrag zeigt dir, wie du die PostgreSQL-Datenbank unter Ubuntu 22.04 installierst.

Voraussetzungen

  • Ein Server, auf dem Ubuntu 22.04 läuft.
  • Ein Root-Passwort ist auf dem Server eingerichtet.

Erste Schritte

Aktualisiere zunächst alle Systempakete mit dem folgenden Befehl auf die neueste Version:

apt update -y
apt upgrade -y

Sobald dein System auf dem neuesten Stand ist, kannst du mit dem folgenden Befehl weitere benötigte Abhängigkeiten installieren:

apt install wget curl gnupg2 -y

Nachdem du alle Abhängigkeiten installiert hast, kannst du mit der Installation von InfluxDB fortfahren.

PostgreSQL-Repository hinzufügen

Standardmäßig ist die neueste Version von PostgreSQL nicht im Standard-Repository von Ubuntu 22.04 verfügbar. Daher musst du das offizielle PostgreSQL-Repository zu deinem System hinzufügen.

Du kannst das PostgreSQL-Repository und den GPG-Schlüssel mit dem folgenden Befehl hinzufügen:

sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list'
wget -qO- https://www.postgresql.org/media/keys/ACCC4CF8.asc | tee /etc/apt/trusted.gpg.d/pgdg.asc &>/dev/null

Als Nächstes aktualisierst du das PostgreSQL-Repository mit dem folgenden Befehl:

apt update -y

Installiere PostgreSQL auf Ubuntu 22.04

Du kannst nun PostgreSQL 15 installieren, indem du den folgenden Befehl ausführst:

apt install postgresql postgresql-client -y

Sobald PostgreSQL installiert ist, überprüfe den Status von PostgreSQL mit dem folgenden Befehl:

systemctl status postgresql

Du solltest die folgende Ausgabe erhalten:

? postgresql.service - PostgreSQL RDBMS
     Loaded: loaded (/lib/systemd/system/postgresql.service; enabled; vendor preset: enabled)
     Active: active (exited) since Mon 2022-12-05 14:28:18 UTC; 1min 57s ago
   Main PID: 10824 (code=exited, status=0/SUCCESS)
        CPU: 4ms

Dec 05 14:28:18 ubuntu2204 systemd[1]: Starting PostgreSQL RDBMS...
Dec 05 14:28:18 ubuntu2204 systemd[1]: Finished PostgreSQL RDBMS.

Um die PostgreSQL-Version zu überprüfen, führe den folgenden Befehl aus:

sudo -u postgres psql -c "SELECT version();"

Du erhältst die folgende Ausgabe:

                                                              version                                                              
-----------------------------------------------------------------------------------------------------------------------------------
 PostgreSQL 15.1 (Ubuntu 15.1-1.pgdg22.04+1) on x86_64-pc-linux-gnu, compiled by gcc (Ubuntu 11.3.0-1ubuntu1~22.04) 11.3.0, 64-bit
(1 row)

PostgreSQL für Remote-Verbindungen konfigurieren

Standardmäßig lässt PostgreSQL nur Verbindungen vom localhost zu. Wenn du eine Remote-Verbindung zulassen möchtest, musst du die PostgreSQL-Konfigurationsdatei bearbeiten und die Authentifizierungsmethode festlegen. Dazu kannst du die folgende Datei bearbeiten:

nano /etc/postgresql/15/main/pg_hba.conf

Ändere die folgenden Zeilen:

local   all             all                                     trust

host    all             all             0.0.0.0/0                md5

Speichere und schließe die Datei, wenn du fertig bist. Anschließend bearbeitest du die PostgreSQL-Hauptkonfigurationsdatei und änderst den Listen-Port:

nano /etc/postgresql/15/main/postgresql.conf

Ändere die folgende Zeile:

listen_addresses='*'

Speichere und schließe die Datei und starte den PostgreSQL-Dienst neu, um die Änderungen zu übernehmen:

systemctl restart postgresql

Einen administrativen Benutzer anlegen

Es ist eine gute Idee, einen administrativen Benutzer anzulegen, um andere Benutzer und Datenbanken zu verwalten. Melde dich zunächst mit folgendem Befehl in der PostgreSQL-Shell an:

sudo -u postgres psql

Sobald du eingeloggt bist, erhältst du die folgende Shell:

psql (15.1 (Ubuntu 15.1-1.pgdg22.04+1))
Type "help" for help.

postgres=# 

Als Nächstes erstellst du mit folgendem Befehl einen Benutzer admin und legst ein Passwort fest:

CREATE ROLE root WITH LOGIN SUPERUSER CREATEDB CREATEROLE PASSWORD 'password';

Als Nächstes überprüfst du den erstellten Benutzer mit dem folgenden Befehl:

\du

Du solltest die folgende Ausgabe sehen:

                                   List of roles
 Role name |                         Attributes                         | Member of 
-----------+------------------------------------------------------------+-----------
 postgres  | Superuser, Create role, Create DB, Replication, Bypass RLS | {}
 root      | Superuser, Create role, Create DB                          | {}


Erstellen einer Datenbank und eines Benutzers in PostgreSQL

In diesem Abschnitt zeigen wir dir, wie du eine Datenbank und einen Benutzer in PostgreSQL anlegst.

Um eine Datenbank namens wpdb in PostgreSQL zu erstellen, führe den folgenden Befehl aus:

create database wpdb;

Um einen Benutzer namens wpuser in PostgreSQL zu erstellen, führe den folgenden Befehl aus:

create user wpuser with encrypted password 'password';

Um der Datenbank wpdb alle Rechte zu gewähren, führe den folgenden Befehl aus:

grant all privileges on database wpdb to wpuser;

Du kannst alle Datenbanken mit dem folgenden Befehl auflisten:

\l

Du solltest eine Liste aller Datenbanken in der folgenden Ausgabe erhalten:

                                                 List of databases
   Name    |  Owner   | Encoding |   Collate   |    Ctype    | ICU Locale | Locale Provider |   Access privileges   
-----------+----------+----------+-------------+-------------+------------+-----------------+-----------------------
 postgres  | postgres | UTF8     | en_US.UTF-8 | en_US.UTF-8 |            | libc            | 
 template0 | postgres | UTF8     | en_US.UTF-8 | en_US.UTF-8 |            | libc            | =c/postgres          +
           |          |          |             |             |            |                 | postgres=CTc/postgres
 template1 | postgres | UTF8     | en_US.UTF-8 | en_US.UTF-8 |            | libc            | =c/postgres          +
           |          |          |             |             |            |                 | postgres=CTc/postgres
 wpdb      | postgres | UTF8     | en_US.UTF-8 | en_US.UTF-8 |            | libc            | =Tc/postgres         +
           |          |          |             |             |            |                 | postgres=CTc/postgres+
           |          |          |             |             |            |                 | wpuser=CTc/postgres
(4 rows)

So verbindest du PostgreSQL von einem entfernten Rechner aus

Zu diesem Zeitpunkt ist PostgreSQL installiert und so konfiguriert, dass Verbindungen von entfernten Rechnern zugelassen werden. Um die PostgreSQL-Remote-Verbindung zu überprüfen, führe den folgenden Befehl aus:

psql 'postgres://wpuser:password@postgres-ip-address:5432/wpdb?sslmode=disable'

Fazit

Herzlichen Glückwunsch! Du hast den PostgreSQL-Server erfolgreich auf Ubuntu 22.04 installiert und konfiguriert. Du kannst PostgreSQL jetzt in einer Produktionsumgebung einsetzen, um eine hohe Leistung und Datenintegrität zu erreichen. Wenn du noch Fragen hast, kannst du dich gerne an mich wenden.

Das könnte dich auch interessieren …