Skip to content

pgAdmin 4 v2.0 - Bessere Performance und PostgreSQL 10 Unterstützung

Seit gut einem Jahr ist pgAdmin in Version 4 verfügbar. Die komplett überarbeitete Version wurde damals neu geschrieben und Stand zu anfangs noch auf etwas wackeligen Beinen. Keine Wunder nach einer komplett neu geschriebenen Variante.

Mit der aktuellen Version 2.0 wurden daher bis zu 70 Bugs gefixed. Die Performance des JQuery UI wurde massiv verbessert und eine SSL Unterstützung integriert. Natürlich ist auch die Unterstützung für das aktuelle PostgreSQL 10 mit an Bord. 

Eine Konfiguration im Vorfeld soll nun wegfallen und das PostgreSQL Tool "out of the box" starten.

Alle Änderungen lassen sich im Blog Beitrag nachlesen.

pgadmin4-logo

Installation pgAdmin 4 unter Ubuntu 16.04. LTS

Es gibt mehrere Varianten das Tool auf Ubuntu zu installieren. Leider wird bis jetzt noch kein Repository unterstützt. 

Es kann auf die Python Wheel Variante zurückgegriffen werden.

sudo apt-get install virtualenv python-pip libpq-dev python-dev
virtualenv pgadmin

cd
virtualenv pgadmin
cd pgadmin
source bin/activate
pip install https://ftp.postgresql.org/pub/pgadmin/pgadmin4/v2.0/pip/pgadmin4-2.0-py2.py3-none-any.whl

python ~/pgadmin4/lib/python2.7/site-packages/pgadmin4/pgAdmin4.py

Die Konfigurationsdatei dieser Installation ist unter lib/python2.7/site-packages/pgadmin4/config.py zu finden.

pgadmin-dashboard1

Installation pgAdmin 4 mit Docker Container

Wer lieber auf Docker setzt, der kann auch einen Container verwenden.

docker pull dpage/pgadmin4

docker run -p 80:80 -e "PGADMIN_DEFAULT_EMAIL=user@example.de" -e "PGADMIN_DEFAULT_PASSWORD=SuperSecret" -d dpage/pgadmin4


oder mit einer SSL Variante

docker pull dpage/pgadmin4
docker run -p 443:443 \
-v "/private/var/lib/pgadmin:/var/lib/pgadmin" \
-v "/path/to/certificate.cert:/certs/server.cert" \
-v "/path/to/certificate.key:/certs/server.key" \
-e "PGADMIN_DEFAULT_EMAIL=user@example.de" \
-e "PGADMIN_DEFAULT_PASSWORD=SuperSecret" \
-e "PGADMIN_ENABLE_TLS=True" \
-e "PGADMIN_SERVER_NAME=pgadmin.domain.com" \
-d pgadmin4

 

Fazit

Leider konnte ich die neue Version bis jetzt noch nicht auf Herz und Nieren testen. Allerdings ist trotz der Performance Verbesserungen, immer noch Luft nach oben. Detaillierte Fehler wie beispielsweise mit Postgis (siehe alter Artikel), kann ich adhoc nicht beurteilen.

Die nicht vorhandene Installation via Repository wird einige Ubuntu Nutzer an der Verwendung des Tools hindern, immerhin stehen mit RPM, PIP und Docker Alternativen zur Verfügung. 

Die alte Version 3 wird zwar nicht mehr offiziell unterstützt, kann aber alternativ weiterhin verwendet werden. 

pgAdmin4 - Installation und ein erster Blick auf die neue PostgreSQL Schaltzentrale

Vor gut einem Monat ist die erste Beta Version von pgAdmin erschienen.
Die neue Version 4 (der mittlerweile in die Jahre gekommenen Version 3) wurde komplett überarbeitet und neu geschrieben.

Inzwischen wurde Beta 3 veröffentlicht, höchste Zeit einen kurzen Blick auf die Installation und das neuen Design zu werfen.

pgadmin4-logoDie Schaltzentrale für PostgreSQL Datenbanken hat einen modernen Anstrich erhalten und zeigt sich bei einem ersten Blick auf die neue Weboberfläche recht übersichtlich. So stellt das neue Dashboard die wichtigsten Aktivitäten auf einer Datenbank live dar. Die Ansicht ist responsive und erlaubt somit auch den Aufruf via Tablet und Co.

Insgesamt wurde auf eine einfache und übersichtliche Darstellung geachtet, so sind viele Einstellungen via Schieberegler zu aktivieren (siehe Screenshot).

Auch die Flexibilität wurde stark erhöht. Tabs lassen sich nun beliebig auf der Oberfläche verschieben und platzieren.

Besonders zu erwähnen ist die doppelte Funktion von pgAdmin. Es kann als Webserverwendung oder Clientsoftware genutzt werden.

pgadmin4-stats

Die komplett überarbeitete DB Software wurde in Python geschrieben und verwendet das  Flask Framework als Backend. Das Frontend besteht aus dem bekannten Mix von Javascript und jQuery.

Durch das moderne Redesign von pgAdmin sind aber auch ein paar wenige Funktionen auf der Strecke geblieben, so stehen der Query Builder, sowie der Datenbank Designer nicht mehr zur Verfügung.

pgadmin4-einstellungen

Die Installation

fällt durch die Hilfe von PIP recht leicht und kann in wenigen Schritten erledigt werden.

Zunächst müssen die benötigten Pakete geladen werden. Dazu zählt natürlich ein Datenbank Server, sowie der Python Pakete Manager PIP. Basis System ist Ubuntu 16.04 LTS.

sudo apt-get install postgresql-9.5
sudo apt-get install python-pip
sudo apt-get install libpq-dev
wget https://ftp.postgresql.org/pub/pgadmin3/pgadmin4/v1.0-beta3/pip/pgadmin4-1.0b3-py2-none-any.whl

Alte Versionen sind hier zu finden

https://ftp.postgresql.org/pub/pgadmin3/pgadmin4/v1.0-beta1/pip/pgadmin4-1.0_beta1-py2-none-any.whl
https://ftp.postgresql.org/pub/pgadmin3/pgadmin4/v1.0-beta2/pip/pgadmin4-1.0b2-py2-none-any.whl

Nun folgt die Paketinstallation

pip install pgadmin4-1.0_beta3-py2-none-any.whl

Please add the directory containing pg_config to the PATH

or specify the full executable path with the option:

    python setup.py build_ext --pg-config /path/to/pg_config build ...

or with the pg_config option in 'setup.cfg'.

pgadmin4-installation

Vor dem ersten Start muss eine Config Datei angelegt werden

cd /usr/local/lib/python2.7/dist-packages/pgadmin4
touch config_local.py

Diese lokale Konfiguration muss auf jeden Fall folgende Werte enthalten:

SECRET_KEY = 'GeheimesGeheimnis2'
SECURITY_PASSWORD_SALT = 'GeheimesGeheimnis3'
CSRF_SESSION_KEY = 'GeheimesGeheimnis1'

Die vorhandenen Werte können der config.py entnommen werden

cat config.py |grep CSRF
CSRF_SESSION_KEY = 'GeheimesGeheimnis1'

cat config.py |grep SECRET_KEY
SECRET_KEY = 'GeheimesGeheimnis2'

cat config.py |grep SECURITY_PASSWORD_SALT
SECURITY_PASSWORD_SALT = 'GeheimesGeheimnis3'

Weitere Konfigurationen, wie beispielsweise eine andere Serveradresse "DEFAULT_SERVER = '0.0.0.0" müssen nicht zwingend hinterlegt werden, hier gelten die Default Werte aus der Hauptkonfiguration. 

Bei einem Betrieb als Webserver sollten die einzelnen Einstellungen genau unter die Lupe genommen werden.

Danach kann die Anwendung zum ersten Mal gestartet werden

cd /usr/local/lib/python2.7/dist-packages/pgadmin4
python ./pgAdmin4.py

        pgAdmin 4 - Application Initialisation
        ======================================


        The configuration database - '/home/lars/.pgadmin/pgadmin4.db' does not exist.
        Entering initial setup mode...
        NOTE: Configuring authentication for SERVER mode.

        Enter the email address and password to use for the initial pgAdmin user account:

        Email address: xxx@test.de

Ein Aufruf der Anwendung erfolgt über den Browser

http://127.0.0.1:5050

Die Anmeldung erfolgt mit den bei der Ersteinrichtung hinterlegten Daten.

Für die Einrichtung und Verwendung des neuen pgAdmin4 wurde bereits eine ausführliche Dokumentation zur Verfügung gestellt.

Fazit

Über den Release Termin der finalen Version konnte ich leider keine Informationen finden. Die aktuelle Beta Version sieht schick aus, besticht durch ihre aufgeräumte Oberfläche und macht Lust auf mehr. Auch für Windowsnutzer steht bereits eine lauffähige Testversion zur Verfügung.

Nun heißt es warten auf die finale Version, um ein endgültiges Fazit ziehen zu können. Bis jetzt ist die Tendenz sicherlich positiv.