Domanda Come installare pgAdmin 4 in modalità desktop su Ubuntu


Come installare pgAdmin 4 in modalità desktop? Il documentazione solo dettagli modalità server.


85
2017-09-29 16:48


origine


La versione docker era sicuramente molto più semplice e veloce per installare PGAdmin4. Ho passato molto tempo a farlo alla vecchia maniera nel file Leggimi. Il modo per accedervi è quindi in una finestra del browser, puntarlo su 0.0.0.0:5050 e risulta davvero buono. 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 che dicono che un prodotto povero è così usare a proprio rischio !!! - Gerald Brown
kiahosseini.github.io/help/2016/10/18/... - Dave Jarvis
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 una "app" da includere in un gestore di pacchetti? - AlikElzin-kilaka
@ AlikElzin-kilaka - controlla la mia risposta sotto per l'approccio apt. - Muhamed Huseinbašić


risposte:


Per pgAdmin 4 v3.3 sopra Ubuntu, secondo il pagina di download:

Installa le 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/v3.3/pip/pgadmin4-3.3-py2.py3-none-any.whl

Utilizzo di Python3.6 (consigliato per evitare problemi di codifica correlati)

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/v3.3/pip/pgadmin4-3.3-py2.py3-none-any.whl

Configurazione

Sostituire i percorsi predefiniti e impostarlo sulla modalità utente singolo in 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

Esegui 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 versione rispettiva.

Conflitto con la configurazione di pgAdmin 3

pgAdmin 4 non inizierà nell'ambiente in cui pgAdmin 3 è stato precedentemente installato e utilizzato a causa di una configurazione incompatibile nel .pgadmin directory. La soluzione più semplice è quella di eliminare quella directory o modificare config_local.py indicare un nuovo pulito .pgadmin4 directory.


127
2017-09-29 16:54



Ok, seguendo le istruzioni di Victor e modificando per Python 3, ho installato pgadmin4. Tuttavia, le persone dovrebbero essere consapevoli del fatto che ci sono un sacco di dipendenze aggiuntive con questo prodotto, quindi si potrebbe voler prendere sul serio il suggerimento di metterlo nella propria virtualizzazione, invece di uno esistente come ho fatto io. Il mio sqlparse, SQLAlchemy, six e jinja2 sono stati tutti aggiornati alle nuove versioni. Non penso che questo sarà un problema per me, ma non me lo aspettavo, quindi ho pensato che le persone dovessero saperlo nel caso in cui ciò potesse influenzarli. - Malik A. Rumi
@Dave Mi piacerebbe prendere il merito di una svolta avanzata e altamente sofisticata, ma tutto ciò che ho fatto è stato sostituire python2.7 per python3.5 nei percorsi di setup e pgAdmin4. :-) Crea il database di configurazione python lib / python3.5 / site-packages / pgadmin4 / setup.py Esegui python lib / python3.5 / site-packages / pgadmin4 / pgAdmin4.py - Malik A. Rumi
Mi piacerebbe aggiungerlo per poterlo eseguire rapidamente, l'ho aggiunto al mio ~ / .bashrc: alias pgadmin = "source ~ / pgadmin4 / bin / activate && python ~ / pgadmin4 / lib / python2.7 / site- packages / pgadmin4 / pgAdmin4.py "In questo modo posso solo digitare pgadmin e si avvia, come se DOVREBBE fuori dalla scatola. Stai ascoltando pgadmin? - light24bulbs
Ecco il link corretto per FTP v2.1: ftp.postgresql.org/pub/pgadmin/pgadmin4/v2.1/pip/... - Aïssa Ghouti
Potrebbe il difficile collegamento alla dipendenza da python3.6 nel python3 lib/python3.6/site-packages/pgadmin4/pgAdmin4.py essere rimosso / sostituito? In questo modo la risposta sarebbe più a prova di futuro. - paul23


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

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

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

L'IP di un'istanza DB dockerised può essere trovato con 2 passaggi:

  • trova l'ID contenitore del tuo db con:

    docker ps

  • ispezionare il nome_contenitore per trovare il proprio IP con:

    docker inspect <ID from previous step>

stai cercando qualcosa come "IPAddress": "172.18.0.3"


44
2018-01-04 12:36



Come puoi far vedere un postgiro ​​posticipato? localhost / 127.0.0.1 / id del contenitore non ha funzionato per me. - ampofila
Possiamo impostare l'IP statico, ovvero non è necessario aggiornare la nostra applicazione per fare riferimento al nuovo IP del contenitore docker ogni volta che lo riavviamo - Nam G VU
Si, amico. Hai salvato la giornata. - Mazhar Ahmed
Bello! funziona come un fascino - Wouter
Bello, ha aggiunto una scorciatoia per applicazioni di cromo, ed è quasi come avere l'effettiva applicazione indietro - chrismarx


Non sono sicuro se mi manca qualcosa (fammi sapere se lo faccio), ma questo sembra molto più semplice:

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

L'ho provato il 16.04.

fonte per l'approccio di cui sopra


18
2018-05-30 13:29



Questo ha funzionato benissimo sul mio portatile con 16.04. Anche con pgAdmin 3 installato. - THelper
Funziona alla grande il 18.04! - divided
Funziona bene! Ma penso che non sia necessario usare 'sudo apt upgrade' perché si può rompere qualcosa) - Max Gabderakhmanov
Hai perfettamente ragione, l'aggiornamento sicuramente non ha nulla a che fare con questa installazione. Volevo rimuovere quella linea prima, ma me ne sono dimenticato. Ho appena aggiornato la mia risposta, grazie! : D - Muhamed Huseinbašić
Ok, un'altra cosa voglio sapere che come faccio se lo installo sul server. - Akhilendra yadav