Comment installer pgAdmin 4 en mode bureau sur Ubuntu

108

Comment installer pgAdmin 4 en mode bureau? La documentation ne détaille que le mode serveur.

Victor
la source
La version de docker était certainement un moyen beaucoup plus simple et plus rapide d’installer PGAdmin4. J'ai passé beaucoup de temps à le faire à l'ancienne, tel qu'il était dans le fichier Lisez-moi. Le moyen d'y accéder est alors dans une fenêtre du navigateur, pointez-le sur 0.0.0.0:5050 et cela s'avère très bien. Il se charge assez rapidement MAIS lorsque j'essaie de créer un serveur, il continue de dire que Postgresql n'est pas en cours d'exécution, cependant, dans PGAdmin3, Postgresql fonctionne correctement. J'ai lu de nombreux commentaires disant qu'il s'agissait d'un produit médiocre, utilisez-le à vos risques et périls !!!
Gerald Brown
2
Seul pgadmin3 est disponible sur apt (Ubuntu 16.04). Avez-vous une idée de comment ouvrir une requête à Canonical pour inclure pgadmin4 dans les paquets apt? Quel est le processus de demande d'une "application" à inclure dans un gestionnaire de paquets?
AlikElzin-kilaka
@ AlikElzin-kilaka - vérifiez ma réponse ci-dessous pour l'approche d'apt.
Muhamed Huseinbašić
Si quelqu'un veut juste pgAdmin3, vous pouvez simplement l'installer en utilisant le logiciel Ubuntu qui se trouve sur toutes les installations Ubuntu.
Kyle Bridenstine

Réponses:

154

Pour pgAdmin 4 v4.12 sur Ubuntu , selon la page de téléchargement :

Installer des dépendances, créer un environnement virtuel, télécharger, installer et configurer

Utiliser 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

Utilisation de Python3.6 (recommandé pour éviter les problèmes liés au codage)

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

Configurer

Remplacez les chemins par défaut et configurez-le en mode mono-utilisateur dans le fichier de configuration local :

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

Pour Python3.x:

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

Écrire:

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

Courir

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

Pour Python3.x:

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

Accès

Accès à http: // localhost: 5050

Sortie

Quitter avec Ctrl-C

Courir à nouveau

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

Pour Python3.6

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

Faire un raccourci

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

Écrire:

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

Pour Python3.6

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

Maintenant, vous pouvez simplement l'exécuter avec une commande plus simple:

~/pgadmin4/pgadmin4

Utilisateurs Python3

Remplacez [x] dans Python3.6 par votre version respective.

Conflit avec la configuration de pgAdmin 3

pgAdmin 4ne démarrera pas dans l'environnement où il pgAdmin 3était précédemment installé et utilisé en raison d'une configuration incompatible dans le .pgadminrépertoire. La solution la plus simple consiste à effacer ce répertoire ou à modifier config_local.pypour pointer vers un nouveau .pgadmin4répertoire propre .

Victor
la source
404 sur ce wget.
tortues sont mignonnes
5
J'aimerais ajouter que pour pouvoir l'exécuter rapidement, j'ai ajouté ceci à mon ~ / .bashrc: alias pgadmin = "source ~ / pgadmin4 / bin / activer && python ~ / pgadmin4 / lib / python2.7 / site- packages / pgadmin4 / pgAdmin4.py "De cette façon, je peux simplement taper pgadmin et il se lance, comme si il DEVRAIT sortir de la boîte. Vous écoutez pgadmin?
light24bulbs
1
Voici le lien correct pour FTP v2.1: ftp.postgresql.org/pub/pgadmin/pgadmin4/v2.1/pip/…
Aïssa Ghouti le
1
Est-ce que la liaison difficile à la dépendance python3.6 dans le fichier pourrait python3 lib/python3.6/site-packages/pgadmin4/pgAdmin4.pyêtre supprimée / remplacée? De cette façon, la réponse serait plus à l'épreuve du futur.
Paul23
1
Sur Ubuntu 19.04, qui vient avec Python 3.7, permutez chaque occurrence de 3.6 avec 3.7 dans les instructions Python 3.x.
Karl Richter
49

Une autre option consiste à utiliser docker et une image de docker fournie par thaJeztah - https://github.com/thaJeztah/pgadmin4-docker

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

Ensuite, pour accéder à une instance de base de données PostgreSQL à partir de pgadmin4, vous devez utiliser l'adresse IP de l' hôte au lieu de localhost et 127.0.0.1 car Docker les mappera au conteneur lui-même.

L'adresse IP d'une instance de base de données dockérisée peut être trouvée en 2 étapes:

  • Trouvez l'ID de conteneur de votre base de données avec:

    docker ps

  • inspectez le container_name pour trouver son ip avec:

    docker inspect <ID from previous step>

vous cherchez quelque chose comme "IPAddress": "172.18.0.3"

Alexandar Mitsev
la source
1
Comment pouvez-vous lui faire voir un postgres dockerized? localhost / 127.0.0.1 / conteneur id ne fonctionne pas pour moi.
ampofila
1
Pouvons-nous définir l'adresse IP statique, c'est-à-dire que nous n'avons pas à mettre à jour notre application pour qu'elle pointe vers une nouvelle adresse IP de conteneur docker à chaque fois que nous la redémarrons
Nam G VU
Bien, ajout d'un raccourci pour l'application du chrome, et c'est presque comme si on avait l'application en arrière
chrismarx
Autre moyen de connecter la base de données hôte: stackoverflow.com/questions/24319662/…
qmn1711
47

Sur Ubuntu 16.04, vous pouvez installer pgadmin4avec

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

J'ai testé cela le 16.04.

source pour l'approche ci-dessus

Muhamed Huseinbašić
la source
D'accord, encore une chose que je veux savoir, comment puis-je commencer si je l'ai installé sur le serveur.
Akhilendra
1
Pour les distributions basées sur Ubuntu comme Mint, vous voudrez peut-être remplacer $(lsb_release -cs)la version par Ubuntu sur laquelle elle est basée. Par exemple, Mint Sarah (version 18) est basée sur Xenial et ressemble à ceci:sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt/ xenial-pgdg main" >> /etc/apt/sources.list.d/pgdg.list'
aggregate1166877
3
Cela ressemble à la solution ultime, du moins pour Ubuntu + 16.xx. Merci !
Louisb