Cómo instalar pgAdmin 4 en modo escritorio en Ubuntu

108

¿Cómo instalar pgAdmin 4 en modo escritorio? La documentación solo detalla el modo del servidor.

Víctor
fuente
La versión de Docker seguramente fue una forma mucho más fácil y rápida de instalar PGAdmin4. Pasé mucho tiempo para hacerlo de la manera antigua que estaba en el archivo Léame. La forma de acceder a él es en una ventana del navegador, apúntelo a 0.0.0.0:5050 y aparece realmente bien. Se carga bastante rápido PERO cuando trato de crear un servidor con él, sigue diciendo que Postgresql NO se está ejecutando, sin embargo, en PGAdmin3 Postgresql se está ejecutando bien. He leído muchos comentarios que dicen que es un producto pobre, ¡así que úsalo bajo tu propio riesgo!
Gerald Brown
2
Solo pgadmin3 está disponible en apt (ubuntu 16.04). ¿Alguna idea de cómo abrir una solicitud a Canonical para incluir pgadmin4 en paquetes apt? ¿Cuál es el proceso de solicitar que se incluya una "aplicación" en un administrador de paquetes?
AlikElzin-kilaka
@ AlikElzin-kilaka: compruebe mi respuesta a continuación para conocer el enfoque adecuado.
Muhamed Huseinbašić
Si alguien solo quiere pgAdmin3, simplemente puede instalarlo usando la aplicación de software de Ubuntu que se encuentra en todas las instalaciones de Ubuntu.
Kyle Bridenstine

Respuestas:

154

Para pgAdmin 4 v4.12 en Ubuntu , de acuerdo con la página de descarga :

Instale dependencias, cree un entorno virtual, descargue, instale y configure

Usando 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

Uso de Python3.6 (preferido para evitar problemas relacionados con la codificación)

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

Configurar

Anule las rutas predeterminadas y configúrelo en modo de usuario único en el archivo de configuración local :

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

Para Python3.x:

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

Escribir:

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

correr

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

Para Python3.x:

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

Acceso

Acceso en http: // localhost: 5050

Salida

Salir con Ctrl-C

Corre de nuevo

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

Para Python3.6

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

Hacer un atajo

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

Escribir:

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

Para Python3.6

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

Ahora puedes ejecutarlo con un comando más simple:

~/pgadmin4/pgadmin4

Usuarios de Python3

Reemplace [x] en Python3.6 con su versión respectiva.

Conflicto con la configuración de pgAdmin 3

pgAdmin 4no se iniciará en el entorno donde pgAdmin 3se instaló y usó anteriormente debido a una configuración incompatible en el .pgadmindirectorio. La solución más simple es borrar ese directorio o ajustar config_local.pypara apuntar a un nuevo .pgadmin4directorio limpio .

Víctor
fuente
404 en ese wget.
tortugas son lindas
55
Me gustaría agregar eso para poder ejecutarlo rápidamente, agregué esto a mi ~ / .bashrc: alias pgadmin = "source ~ / pgadmin4 / bin / enable && python ~ / pgadmin4 / lib / python2.7 / site- paquetes / pgadmin4 / pgAdmin4.py "De esa manera, simplemente puedo escribir pgadmin y se inicia, como DEBE salir de la caja. ¿Estás escuchando pgadmin?
light24bulbs
1
Aquí está el enlace correcto para FTP v2.1: ftp.postgresql.org/pub/pgadmin/pgadmin4/v2.1/pip/…
Aïssa Ghouti
1
¿Podría python3 lib/python3.6/site-packages/pgadmin4/pgAdmin4.pyeliminarse / reemplazarse el enlace duro a la dependencia de python3.6 en el ? De esa manera, la respuesta sería una prueba más futura.
paul23
1
En Ubuntu 19.04 que viene con Python 3.7, cambie cada ocurrencia de 3.6 con 3.7 en las instrucciones de Python 3.x.
Karl Richter
49

Otra opción es usar docker y una imagen de docker proporcionada por thaJeztah - https://github.com/thaJeztah/pgadmin4-docker

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

Luego, para acceder a una instancia de PostgreSQL DB desde pgadmin4, debe usar la IP del host en lugar de localhost y 127.0.0.1 ya que Docker los asignará al contenedor.

La IP de una instancia de base de datos acoplada se puede encontrar con 2 pasos:

  • encuentre la ID del contenedor de su base de datos con:

    docker ps

  • inspeccione el container_name para encontrar su ip con:

    docker inspect <ID from previous step>

Está buscando algo como "IPAddress": "172.18.0.3"

Alexandar Mitsev
fuente
1
¿Cómo puedes hacer que vea un postgres dockerizado? id localhost / 127.0.0.1 / container no funcionó para mí.
ampofila
1
¿Podemos configurar la IP estática, es decir, no tenemos que actualizar nuestra aplicación para apuntar a una nueva IP del contenedor acoplable cada vez que la reiniciamos?
Nam G VU
Niza, añadido un acceso directo de aplicación de cromo, y es casi como tener la aplicación real de Regreso
chrismarx
Otra forma de conectar la base de datos del host: stackoverflow.com/questions/24319662/…
qmn1711
47

En Ubuntu 16.04 puedes instalar pgadmin4con

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

He probado esto en 16.04.

fuente para el enfoque anterior

Muhamed Huseinbašić
fuente
Bien, otra cosa que quiero saber es cómo empiezo si lo instalé en el servidor.
Akhilendra
1
Para distribuciones basadas en Ubuntu como Mint, es posible que desee reemplazar $(lsb_release -cs)la versión de Ubuntu en la que se basa. Por ejemplo, menta Sarah (versión 18) se basa en Xenial y se ve así:sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt/ xenial-pgdg main" >> /etc/apt/sources.list.d/pgdg.list'
aggregate1166877
3
Parece la solución definitiva, al menos para Ubuntu + 16.xx. Gracias !
Louisb