pgAdmin Installations- und Konfigurationsanleitung für Ubuntu 18.04

pgAdmin ist eine Open-Source-Plattform für die Verwaltung und Entwicklung von PostgreSQL und verwandten Datenbanksystemen. Geschrieben in Python und jQuery, unterstützt es alle Funktionen von PostgreSQL. Mit pgAdmin können Sie alles von einfachen SQL-Abfragen bis hin zur Überwachung Ihrer Datenbanken und der Konfiguration fortgeschrittener Datenbankarchitekturen durchführen.

In diesem Tutorial führen wir Sie durch den Prozess der Installation und Konfiguration der neuesten Version von pgAdmin auf einem Ubuntu 18.04-Server, dem Zugriff auf pgAdmin über einen Webbrowser und der Verbindung mit einer PostgreSQL-Datenbank auf Ihrem Server.

Voraussetzungen

Um dieses Tutorial abzuschließen, benötigen Sie:

  • Einen Server mit Ubuntu 18.04. Dieser Server sollte einen Nicht-Root-Benutzer mit Sudo-Berechtigungen sowie eine Firewall mit ufw-Konfiguration haben.
  • Nginx, installiert und konfiguriert als Reverse-Proxy für http://unix:/tmp/pgadmin4.sock.
  • PostgreSQL, auf Ihrem Server installiert. Erstellen Sie eine neue Rolle und Datenbank, um pgAdmin mit Ihrer PostgreSQL-Instanz zu verbinden.
  • Python 3 und venv, auf Ihrem Server installiert.

Schritt 1 — Installation von pgAdmin und dessen Abhängigkeiten

Zum Zeitpunkt der Erstellung dieses Tutorials ist die neueste Version von pgAdmin pgAdmin 4, während die neueste Version, die über die offiziellen Ubuntu-Repositories verfügbar ist, pgAdmin 3 ist. Da pgAdmin 3 nicht mehr unterstützt wird, empfehlen die Projektmaintainer die Installation von pgAdmin 4. In diesem Schritt behandeln wir die Installation der neuesten Version von pgAdmin 4 in einer virtuellen Umgebung und die Installation der erforderlichen Abhängigkeiten mit apt.

Beginnen Sie mit der Aktualisierung des Paketindex Ihres Servers, falls dies kürzlich noch nicht geschehen ist:

Installieren Sie als Nächstes die folgenden Abhängigkeiten, darunter libgmp3-dev, eine Bibliothek für arithmetische Multipräzision, und libpq-dev, das Header-Dateien und eine statische Bibliothek enthält, die die Kommunikation mit einem PostgreSQL-Backend unterstützt:

sudo apt install libgmp3-dev libpq-dev

Erstellen Sie anschließend einige Verzeichnisse, in denen pgAdmin seine Sitzungsdaten, Speicherdaten und Protokolle speichert:

sudo mkdir -p /var/lib/pgadmin4/sessions
sudo mkdir /var/lib/pgadmin4/storage
sudo mkdir /var/log/pgadmin4

Ändern Sie den Besitz dieser Verzeichnisse auf Ihren Nicht-Root-Benutzer und Ihre Gruppe:

sudo chown -R sammy:sammy /var/lib/pgadmin4
sudo chown -R sammy:sammy /var/log/pgadmin4

Öffnen Sie als Nächstes Ihre virtuelle Umgebung. Navigieren Sie zu dem Verzeichnis, in dem sich Ihre Programmierumgebung befindet, und aktivieren Sie diese:

cd environments/
source my_env/bin/activate

Nachdem Sie die virtuelle Umgebung aktiviert haben, stellen Sie sicher, dass die neueste Version von pip auf Ihrem System installiert ist. Falls nicht, aktualisieren Sie pip mit folgendem Befehl:

Laden Sie anschließend den Quellcode von pgAdmin 4 herunter. Navigieren Sie zur pgAdmin 4 (Python Wheel) Download-Seite, kopieren Sie den Link zur neuesten .whl-Datei und führen Sie den folgenden wget-Befehl aus:

wget https://ftp.postgresql.org/pub/pgadmin/pgadmin4/v6.10/pip/pgadmin4-6.10-py3-none-any.whl

Installieren Sie das wheel-Paket, das für die Arbeit mit .whl-Dateien erforderlich ist:

Installieren Sie anschließend pgAdmin 4 mithilfe der heruntergeladenen .whl-Datei:

python -m pip install pgadmin4-6.10-py3-none-any.whl

Daraufhin installieren Sie noch Gunicorn, einen Python WSGI-Server, der zusammen mit Nginx verwendet wird, um die pgAdmin-Weboberfläche bereitzustellen:

python -m pip install gunicorn

Damit sind pgAdmin und seine Abhängigkeiten installiert. Bevor Sie es jedoch mit Ihrer Datenbank verbinden, müssen Sie pgAdmin weiter konfigurieren.

Schritt 2 — Konfiguration von pgAdmin 4

Obwohl pgAdmin installiert ist, sind zusätzliche Konfigurationen erforderlich, damit es die Weboberfläche korrekt bereitstellen kann. Erstellen Sie eine neue Konfigurationsdatei namens config_local.py:

nano my_env/lib/python3.10/site-packages/pgadmin4/config_local.py

Fügen Sie der Datei folgenden Inhalt hinzu:

LOG_FILE = '/var/log/pgadmin4/pgadmin4.log'
SQLITE_PATH = '/var/lib/pgadmin4/pgadmin4.db'
SESSION_DB_PATH = '/var/lib/pgadmin4/sessions'
STORAGE_DIR = '/var/lib/pgadmin4/storage'
SERVER_MODE = True

Speichern und schließen Sie die Datei. Führen Sie dann das Setup-Skript aus, um Ihre Anmeldeinformationen festzulegen:

python my_env/lib/python3.10/site-packages/pgadmin4/setup.py

Sie werden aufgefordert, eine E-Mail-Adresse und ein Passwort einzugeben. Diese Anmeldeinformationen werden später für die Anmeldung bei pgAdmin verwendet.

Schritt 3 — Start von Gunicorn und Konfiguration von Nginx

Verwenden Sie Gunicorn, um pgAdmin als Webanwendung bereitzustellen. Starten Sie den Gunicorn-Server:

gunicorn --bind unix:/tmp/pgadmin4.sock --workers=1 --threads=25 --chdir ~/environments/my_env/lib/python3.10/site-packages/pgadmin4 pgAdmin4:app

Öffnen Sie die Nginx-Konfigurationsdatei:

sudo nano /etc/nginx/sites-available/your_domain

Fügen Sie den folgenden Inhalt hinzu:

server {
listen 80;
listen [::]:80;

server_name your_domain www.your_domain;

location / {
proxy_pass http://unix:/tmp/pgadmin4.sock;
include proxy_params;
}
}

Starten Sie Nginx neu, um die Änderungen anzuwenden:

Schritt 4 — Zugriff auf pgAdmin

Öffnen Sie auf Ihrem lokalen Rechner einen Webbrowser und navigieren Sie zur IP-Adresse Ihres Servers:

http://your_server_ip

Geben Sie die zuvor festgelegten Anmeldedaten ein, um auf die Willkommensseite von pgAdmin zuzugreifen.

Schritt 5 — Konfiguration Ihres PostgreSQL-Benutzers

Um pgAdmin mit Ihrer PostgreSQL-Datenbank zu verbinden, müssen Sie den PostgreSQL-Benutzer konfigurieren. Standardmäßig verwendet PostgreSQL die Authentifizierungsmethode „ident“, bei der der Ubuntu-Benutzername als Datenbank-Benutzername verwendet wird. Dies kann Probleme verursachen, wenn externe Programme wie pgAdmin auf die Datenbank zugreifen sollen. Um dies zu lösen, setzen Sie ein Passwort für den PostgreSQL-Benutzer.

Melden Sie sich als Superuser beim PostgreSQL-Prompt an:

Setzen Sie ein Passwort für den Benutzer:

ALTER USER sammy PASSWORD 'password';

Beenden Sie den PostgreSQL-Prompt:

Gehen Sie zurück zur pgAdmin-Oberfläche in Ihrem Browser. Klicken Sie im Browser-Menü mit der rechten Maustaste auf „Servers“, fahren Sie mit der Maus über „Create“ und klicken Sie auf „Server…“.

Im Tab „General“ geben Sie einen Namen für Ihren Server ein (z.B. „Sammy-server-1“).

Wechseln Sie zum Tab „Connection“ und tragen Sie folgende Daten ein:

  • Host name/address: localhost
  • Port: 5432 (Standard)
  • Maintenance database: Der Name der zuvor erstellten Datenbank
  • Username: Ihr PostgreSQL-Benutzername (z.B. sammy)
  • Password: Das vorher festgelegte Passwort

Klicken Sie auf „Save“, um pgAdmin mit Ihrer Datenbank zu verbinden. Die Datenbank erscheint nun unter „Servers“ im Browser-Menü.

Schritt 6 — Erstellen einer Tabelle im pgAdmin-Dashboard

Erweitern Sie im Browser-Menü Ihren Server, die Datenbank und „Schemas“. Klicken Sie mit der rechten Maustaste auf „Tables“, fahren Sie mit der Maus über „Create“ und klicken Sie auf „Table…“.

Geben Sie im Tab „General“ einen Namen für Ihre Tabelle ein (z.B. „tabelle_01“).

Wechseln Sie zum Tab „Columns“ und fügen Sie mit dem „+“-Symbol Spalten hinzu. Für jede Spalte geben Sie Folgendes an:

  • Name: Spaltenname
  • Data type: Datentyp der Spalte (z.B. VARCHAR, INT)
  • Primary Key: Aktivieren Sie diese Option, falls die Spalte der Primärschlüssel sein soll

Klicken Sie auf „Save“, um die Tabelle zu erstellen. Um Daten einzufügen, klicken Sie mit der rechten Maustaste auf den Tabellennamen, fahren Sie mit der Maus über „Scripts“ und klicken Sie auf „INSERT Script“. Ersetzen Sie Platzhalter durch Ihre Daten und führen Sie das Skript mit dem Play-Icon (▶) aus.

Um die Daten anzuzeigen, klicken Sie mit der rechten Maustaste auf den Tabellennamen, fahren Sie mit der Maus über „View/Edit Data“ und wählen Sie „All Rows“.

Fazit

In diesem Leitfaden haben Sie pgAdmin 4 in einer Python-virtuellen Umgebung installiert, konfiguriert, mit Gunicorn und Nginx bereitgestellt und mit einer PostgreSQL-Datenbank verbunden. Außerdem haben Sie gelernt, wie man eine Tabelle erstellt und über die pgAdmin-Weboberfläche mit Daten befüllt.

Weitere Informationen zu den Funktionen von pgAdmin finden Sie in der pgAdmin-Dokumentation.

Kostenlosen Account erstellen

Registrieren Sie sich jetzt und erhalten Sie Zugang zu unseren Cloud Produkten.

Das könnte Sie auch interessieren: