Come installare pgAdmin 4 in modalità desktop su Ubuntu


108

Come installare pgAdmin 4 in modalità desktop? La documentazione descrive solo la modalità server.


La versione docker era sicuramente un modo molto più semplice e veloce di installare PGAdmin4. Ho trascorso molto tempo a farlo nel vecchio modo che era nel file readme. Il modo per accedervi è in una finestra del browser, puntalo su 0.0.0.0:5050 e si presenta davvero bene. Si carica abbastanza velocemente MA quando provo a creare un server con esso continua a dire che Postgresql NON è in esecuzione, tuttavia in PGAdmin3 Postgresql funziona correttamente. Ho letto molti commenti dicendo che è un prodotto scadente, quindi usalo a tuo rischio e pericolo !!!
Gerald Brown,


2
Solo pgadmin3 è disponibile su apt (ubuntu 16.04). Qualche idea su come aprire una richiesta a Canonical per includere pgadmin4 nei pacchetti apt? Qual è il processo di richiesta di "app" da includere in un gestore pacchetti?
AlikElzin-Kilaka,

@ AlikElzin-kilaka - controlla la mia risposta qui sotto per l'approccio apt.
Muhamed Huseinbašić,

Se qualcuno vuole solo pgAdmin3, puoi semplicemente installarlo usando l'applicazione Ubuntu Software presente su tutte le installazioni di Ubuntu.
Kyle Bridenstine,

Risposte:


154

Per pgAdmin 4 v4.12 su Ubuntu , secondo la pagina di download :

Installa dipendenze, crea un ambiente virtuale, scarica, installa e configura

Utilizzando 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

Utilizzo di Python3.6 (preferito per evitare problemi relativi alla codifica)

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

Configurazione

Sostituisci i percorsi predefiniti e impostalo sulla modalità utente singolo nel file di configurazione locale :

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

Per Python3.x:

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

Scrivi:

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

Correre

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

Per Python3.x:

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

Accesso

Accesso a http: // localhost: 5050

Uscita

Esci con Ctrl-C

Eseguire di nuovo

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

Per Python3.6

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

Crea una scorciatoia

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

Scrivi:

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

Per Python3.6

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

Ora puoi semplicemente eseguirlo con un comando più semplice:

~/pgadmin4/pgadmin4

Utenti Python3

Sostituisci [x] in Python3.6 con la tua rispettiva versione.

Conflitto con la configurazione di pgAdmin 3

pgAdmin 4non verrà avviato nell'ambiente in cui è pgAdmin 3stato precedentemente installato e utilizzato a causa di una configurazione incompatibile nella .pgadmindirectory. La soluzione più semplice è quella di cancellare quella directory o modificare config_local.pyper puntare a una nuova .pgadmin4directory pulita .


404 su quella wget.
tartarughe sono carine il

5
Vorrei aggiungerlo per poterlo eseguire rapidamente, l'ho aggiunto al mio ~ / .bashrc: alias pgadmin = "source ~ / pgadmin4 / bin / activates && python ~ / pgadmin4 / lib / python2.7 / site- pacchetti / pgadmin4 / pgAdmin4.py "In questo modo posso semplicemente digitare pgadmin e si avvia, come se DOVREBBE essere pronto. Ascolti pgadmin?
light24bulbs,


1
Potrebbe python3 lib/python3.6/site-packages/pgadmin4/pgAdmin4.pyessere rimosso / sostituito l'hard linking alla dipendenza python3.6 ? In questo modo la risposta sarebbe più a prova di futuro.
paul23

1
Su Ubuntu 19.04 che viene fornito con Python 3.7, sostituisci ogni occorrenza di 3.6 con 3.7 nelle istruzioni di Python 3.x.
Karl Richter

49

Un'altra opzione è utilizzare la finestra mobile e un'immagine della finestra mobile fornita da thaJeztah - https://github.com/thaJeztah/pgadmin4-docker

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

Quindi per accedere a un'istanza DB PostgreSQL da pgadmin4 dovresti usare l'IP dell'host invece di localhost e 127.0.0.1 poiché Docker mapperà quelli sul contenitore stesso.

L'IP di un'istanza DB dockerizzata è stato trovato con 2 passaggi:

  • trova l'ID contenitore del tuo db con:

    docker ps

  • ispeziona container_name per trovare il suo ip con:

    docker inspect <ID from previous step>

stai cercando qualcosa come "IPAddress": "172.18.0.3"


1
Come puoi far vedere un postgres dockerizzato? localhost / 127.0.0.1 / id contenitore non ha funzionato per me.
ampofila,

1
Possiamo impostare l'IP statico, cioè non è necessario aggiornare la nostra applicazione in modo che punti al nuovo IP del contenitore docker ogni volta che lo riavviamo
Nam G VU

Bello, ha aggiunto una scorciatoia per l'applicazione di cromo, ed è quasi come avere indietro l'applicazione
reale-

Altro modo per collegare il database host: stackoverflow.com/questions/24319662/...
qmn1711

47

Su Ubuntu 16.04 è possibile installare 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

Ho provato questo il 16.04.

fonte per l'approccio sopra


Va bene, un'altra cosa voglio sapere che come posso iniziare se l'ho installato sul server.
Akhilendra,

1
Per le distribuzioni basate su Ubuntu come Mint potresti voler sostituire $(lsb_release -cs)la versione di Ubuntu su cui si basa. Ad esempio, Mint Sarah (versione 18) è basata su Xenial e si presenta così:sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt/ xenial-pgdg main" >> /etc/apt/sources.list.d/pgdg.list'
aggregate1166877

3
Sembra la soluzione definitiva, almeno per Ubuntu + 16.xx. Grazie !
Louisb,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.