So installieren Sie pgAdmin 4 im Desktop-Modus unter Ubuntu

107

Wie installiere ich pgAdmin 4 im Desktop-Modus? In der Dokumentation wird nur der Servermodus beschrieben.

Sieger
quelle
Die Docker-Version war sicher eine viel einfachere und schnellere Möglichkeit, PGAdmin4 zu installieren. Ich habe viel Zeit damit verbracht, es auf die alte Art und Weise zu tun, die in der Readme-Datei stand. Der Weg, um darauf zuzugreifen, ist in einem Browserfenster, zeigen Sie auf 0.0.0.0:5050 und es kommt wirklich gut. Es wird ziemlich schnell geladen, ABER wenn ich versuche, einen Server damit zu erstellen, heißt es immer wieder, dass Postgresql NICHT ausgeführt wird, jedoch in PGAdmin3 läuft Postgresql einwandfrei. Habe viele Kommentare gelesen, in denen steht, was für ein schlechtes Produkt es ist. Die Verwendung erfolgt auf eigenes Risiko !!!
Gerald Brown
2
Unter apt (Ubuntu 16.04) ist nur pgadmin3 verfügbar. Irgendeine Idee, wie man eine Anfrage an Canonical öffnet, um pgadmin4 in apt-Pakete aufzunehmen? Wie wird die Aufnahme einer "App" in einen Paketmanager angefordert?
AlikElzin-kilaka
@ AlikElzin-kilaka - überprüfen Sie meine Antwort unten für den passenden Ansatz.
Muhamed Huseinbašić
Wenn jemand nur pgAdmin3 möchte, kann er einfach mit der Ubuntu-Software installiert werden, die auf allen Ubuntu-Installationen verfügbar ist.
Kyle Bridenstine

Antworten:

154

Für pgAdmin 4 v4.12 unter Ubuntu laut Download-Seite :

Installieren Sie Abhängigkeiten, erstellen Sie eine virtuelle Umgebung, laden Sie sie herunter, installieren und konfigurieren Sie sie

Verwenden von Python2.x

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

cd
virtualenv pgadmin4
cd pgadmin4
source bin/activate

pip install https://ftp.postgresql.org/pub/pgadmin/pgadmin4/v4.12/pip/pgadmin4-4.12-py2.py3-none-any.whl

Verwenden von Python3.6 (Bevorzugt, um Codierungsprobleme zu vermeiden)

sudo apt-get install virtualenv python3-pip libpq-dev python3-dev

cd
virtualenv -p python3 pgadmin4
cd pgadmin4
source bin/activate

pip3 install https://ftp.postgresql.org/pub/pgadmin/pgadmin4/v4.12/pip/pgadmin4-4.12-py2.py3-none-any.whl

Konfigurieren

Überschreiben Sie die Standardpfade und setzen Sie sie in der lokalen Konfigurationsdatei auf den Einzelbenutzermodus :

nano lib/python2.7/site-packages/pgadmin4/config_local.py

Für Python3.x:

nano lib/python3.6/site-packages/pgadmin4/config_local.py

Schreiben:

import os
DATA_DIR = os.path.realpath(os.path.expanduser(u'~/.pgadmin/'))
LOG_FILE = os.path.join(DATA_DIR, 'pgadmin4.log')
SQLITE_PATH = os.path.join(DATA_DIR, 'pgadmin4.db')
SESSION_DB_PATH = os.path.join(DATA_DIR, 'sessions')
STORAGE_DIR = os.path.join(DATA_DIR, 'storage')
SERVER_MODE = False

Lauf

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

Für Python3.x:

python3 lib/python3.6/site-packages/pgadmin4/pgAdmin4.py

Zugriff

Zugriff unter http: // localhost: 5050

Ausgang

Beenden Sie mit Strg-C

Führe es nochmals aus

cd ~/pgadmin4
source bin/activate
python lib/python2.7/site-packages/pgadmin4/pgAdmin4.py

Für Python3.6

#!/bin/bash
cd ~/pgadmin4
source bin/activate
python3 lib/python3.6/site-packages/pgadmin4/pgAdmin4.py

Machen Sie eine Verknüpfung

touch ~/pgadmin4/pgadmin4
chmod +x ~/pgadmin4/pgadmin4
nano ~/pgadmin4/pgadmin4

Schreiben:

#!/bin/bash
cd ~/pgadmin4
source bin/activate
python lib/python2.7/site-packages/pgadmin4/pgAdmin4.py

Für Python3.6

#!/bin/bash
cd ~/pgadmin4
source bin/activate
python3 lib/python3.6/site-packages/pgadmin4/pgAdmin4.py

Jetzt können Sie es einfach mit einem einfacheren Befehl ausführen:

~/pgadmin4/pgadmin4

Python3-Benutzer

Ersetzen Sie [x] in Python3.6 durch Ihre jeweilige Version.

Konflikt mit der Konfiguration von pgAdmin 3

pgAdmin 4startet nicht in der Umgebung, in pgAdmin 3der zuvor installiert und verwendet wurde, da die Konfiguration im .pgadminVerzeichnis nicht kompatibel ist . Die einfachste Lösung besteht darin, entweder dieses Verzeichnis zu löschen oder config_local.pyauf ein sauberes neues .pgadmin4Verzeichnis zu zeigen.

Sieger
quelle
404 auf diesem wget.
Turtles Are Cute
5
Ich möchte das hinzufügen, damit ich es schnell ausführen kann. Ich habe dies zu meinem ~ / .bashrc hinzugefügt: alias pgadmin = "source ~ / pgadmin4 / bin / activate && python ~ / pgadmin4 / lib / python2.7 / site- packages / pgadmin4 / pgAdmin4.py "Auf diese Weise kann ich einfach pgadmin eingeben und es wird gestartet, so als ob es sofort einsatzbereit wäre. Hörst du pgadmin?
light24bulbs
1
Hier ist der richtige Link für FTP v2.1: ftp.postgresql.org/pub/pgadmin/pgadmin4/v2.1/pip/…
Aïssa Ghouti
1
Könnte die harte Verknüpfung zu python3.6 in der Abhängigkeit python3 lib/python3.6/site-packages/pgadmin4/pgAdmin4.pyentfernt / ersetzt werden? Auf diese Weise wäre die Antwort zukunftssicherer.
paul23
1
Tauschen Sie unter Ubuntu 19.04, das mit Python 3.7 geliefert wird, jedes Vorkommen von 3.6 gegen 3.7 in den Python 3.x-Anweisungen aus.
Karl Richter
49

Eine andere Möglichkeit ist die Verwendung von Docker und eines Docker-Images, das von thaJeztah bereitgestellt wird - https://github.com/thaJeztah/pgadmin4-docker

$ docker run --rm -p 5050:5050 thajeztah/pgadmin4

Um dann innerhalb von pgadmin4 auf eine PostgreSQL-DB-Instanz zuzugreifen, sollten Sie die IP des Hosts anstelle von localhost und 127.0.0.1 verwenden, da Docker diese dem Container selbst zuordnet .

Die IP einer dockerisierten DB-Instanz konnte in 2 Schritten ermittelt werden:

  • Finden Sie die Container-ID Ihrer Datenbank mit:

    docker ps

  • Inspiziere den Containernamen, um seine IP zu finden mit:

    docker inspect <ID from previous step>

Sie suchen nach etwas wie "IPAddress": "172.18.0.3"

Alexandar Mitsev
quelle
1
Wie können Sie ein dockerisiertes Postgres erkennen? localhost / 127.0.0.1 / container id hat bei mir nicht funktioniert.
Ampofila
1
Können wir die IP statisch einstellen, dh wir müssen unsere Anwendung nicht jedes Mal, wenn wir sie neu starten, so aktualisieren, dass sie auf eine neue Docker-Container-IP verweist
Nam G VU
Schön, es wurde eine Abkürzung für die
Chromanwendung
Eine andere Möglichkeit zum Herstellen
qmn1711
46

Am 16.04 Ubuntu können Sie installieren pgadmin4mit

sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt/ $(lsb_release -cs)-pgdg main" >> /etc/apt/sources.list.d/pgdg.list'
sudo apt install wget ca-certificates
wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add 
sudo apt update
sudo apt install pgadmin4

Ich habe das am 16.04 getestet.

Quelle für den obigen Ansatz

Muhamed Huseinbašić
quelle
Okay, eine andere Sache, die ich wissen möchte, dass, wie ich anfange, wenn ich es auf Bediener anbrachte.
Akhilendra
1
Für Ubuntu-basierte Distributionen wie Mint möchten Sie möglicherweise die durch die $(lsb_release -cs)Ubuntu-Version ersetzen, auf der sie basieren. Zum Beispiel basiert Mint Sarah (Version 18) auf Xenial und sieht folgendermaßen aus:sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt/ xenial-pgdg main" >> /etc/apt/sources.list.d/pgdg.list'
aggregate1166877
2
Zumindest für Ubuntu + 16.xx sieht es nach der ultimativen Lösung aus. Vielen Dank !
Louisb