install pgAdmin

Published by onesixx on


|⇒ docker pull dpage/pgadmin4
|⇒ docker run -p 5050:5050 \ 
-e "[email protected]" \
-d dpage/pgadmin4
|⇒ docker ps
CONTAINER ID        IMAGE               COMMAND                 CREATED             STATUS              
87e823c530b0        dpage/pgadmin4      "/bin/bash /"   2 minutes ago       Up 2 minutes
PORTS                                     NAMES
80/tcp, 443/tcp,>5050/tcp   hungry_lamport
➜ docker inspect 87e823c530b0 | grep IPAddress
            "SecondaryIPAddresses": null,
            "IPAddress": "",
                    "IPAddress": "",

Source Code


모든 IP(*)에서 5432 포트 접근 가능하도록 설정

|⇒ sudo vi /etc/postgresql/10/main/postgresql.conf
listen_addresses = '*'

모든 IP(에서 모든 DB(all)에 대해 모든 계정(all)으로 로그인 허용

|⇒ sudo vi /etc/postgresql/10/main/pg_hba.conf
host    all             all                  md5

PostgreSQL 재시작 후 LISTEN 포트 확인

|⇒ sudo netstat -tnlp | grep postgres
tcp        0      0  *               LISTEN      25560/postgres  
tcp6       0      0 :::5432                 :::*                    LISTEN      25560/postgres



 pgAdmin 4     2017-07-13 – pgAdmin 4 v1.6 released

1. 설치전 환경 확인

python설치 확인

~|⇒ which python

~|⇒ python -V
Python 2.7.12

~|⇒ python3 -V
Python 3.5.2

~|⇒ pyenv versions
* system (set by /Users/onesixx/.pyenv/version)

~|⇒ pyenv version 
system (set by /Users/onesixx/.pyenv/version)

pip 설치 확인

~|⇒ pip -V
pip 9.0.1 from /Users/onesixx/.local/lib/python2.7/site-packages (python 2.7)

필요팩키지 설치 확인 ( libpq-dev)

~|⇒ dpkg -l  | grep libpq 
ii  libpq5:amd64      9.5.7-0ubuntu0.16.04      amd64    PostgreSQL C client library

Virtualenv  생성

~|⇒ pyenv virtualenv system pgadmin4
New python executable in /Users/onesixx/.pyenv/versions/pgadmin4/bin/python
Installing setuptools, pip, wheel...done.
ensurepip is disabled in Debian/Ubuntu for the system python.

Python modules For the system python are usually handled by dpkg and apt-get.

    apt-get install python-<module name>

Install the python-pip package to use pip itself.  Using pip together
with the system python might have unexpected results for any system installed
module, so use it on your own risk, or make sure to only use it in virtual

Installing pip from
curl: (60) server certificate verification failed. CAfile: /etc/ssl/certs/ca-certificates.crt CRLfile: none
More details here:

curl performs SSL certificate verification by default, using a "bundle"
 of Certificate Authority (CA) public keys (CA certs). If the default
 bundle file isn't adequate, you can specify an alternate file
 using the --cacert option.
If this HTTPS server uses a certificate signed by a CA represented in
 the bundle, the certificate verification probably failed due to a
 problem with the certificate (it might be expired, or the name might
 not match the domain name in the URL).
If you'd like to turn off curl's verification of the certificate, use
 the -k (or --insecure) option.

Virtualenv  활성화

~|⇒ pyenv activate pgadmin4 
pyenv-virtualenv: prompt changing will be removed from future release. configure `export PYENV_VIRTUALENV_DISABLE_PROMPT=1' to simulate the behavior.


참고> 처음부터 설치

sudo apt-get install python2.7-dev virtualenv python-pip libpq-dev

2. pip를 통한 설치

설치파일 다운로드 

the wheel package of pgAdmin 4 from here  .

(pgadmin4) ~|⇒ cd ~/.pyenv/versions/pgadmin4/

(pgadmin4) pgadmin4|master ⇒ wget --no-check-certificate

--2017-08-29 14:16:53--
Resolving (,,, ...
Connecting to (||:443... connected.
WARNING: cannot verify's certificate, issued by ‘O=hynix,L=Seoul,ST=Some-State,C=KR’:
  Unable to locally verify the issuer's authority.
HTTP request sent, awaiting response... 200 OK
Length: 61717154 (59M) [application/octet-stream]
Saving to: ‘pgadmin4-1.6-py2.py3-none-any.whl’

pgadmin4-1.6-py2.py3-none-any.wh 100%[=======================================================>]  58.86M   346KB/s    in 2m 52s  

2017-08-29 14:19:47 (350 KB/s) - ‘pgadmin4-1.6-py2.py3-none-any.whl’ saved [61717154/61717154]


(pgadmin4) pgadmin4|master ⇒ pip install pgadmin4-1.6-py2.py3-none-any.whl 
Processing ./pgadmin4-1.6-py2.py3-none-any.whl

Successfully installed Babel-2.3.4 Flask-0.11.1 Flask-Babel-0.11.1 Flask-Gravatar-0.4.2 Flask-HTMLmin-1.2 Flask-Login-0.3.2 Flask-Mail-0.9.1 Flask-Migrate-2.0.3 Flask-Principal-0.4.0 Flask-SQLAlchemy-2.1 Flask-Script-2.0.5 Flask-Security-1.7.5 Flask-WTF-0.12 Jinja2-2.7.3 Mako-1.0.7 MarkupSafe-0.23 SQLAlchemy-1.0.14 WTForms-2.0.2 Werkzeug-0.9.6 alembic-0.9.5 backports.csv-1.0.5 beautifulsoup4-4.4.1 blinker-1.3 click-6.6 extras-0.0.3 fixtures-2.0.0 html5lib-1.0b3 htmlmin-0.1.10 importlib-1.0.4 itsdangerous-0.24 linecache2-1.0.0 passlib-1.6.2 pbr-1.9.1 pgadmin4-1.6 psycopg2- pycrypto-2.6.1 pyrsistent-0.11.13 python-dateutil-2.5.0 python-editor-1.0.3 python-mimeparse-1.5.1 pytz-2014.10 simplejson-3.6.5 six-1.10.0 speaklater-1.3 sqlparse-0.1.19 testtools-2.3.0 traceback2-1.4.0 unittest2-1.1.0

Config 설정

(pgadmin4) pgadmin4|master ⇒ cd ~/.pyenv/versions/pgadmin4/local/lib/python2.7/site-packages/pgadmin4
(pgadmin4) pgadmin4|master ⇒ cp ./ ./
(pgadmin4) pgadmin4|master ⇒ sudo subl

pgadmin 시작

(pgadmin4) pgadmin4|master ⇒ python
NOTE: Configuring authentication for SERVER mode.

Enter the email address and password to use for the initial pgAdmin user account:

Email address: [email protected]
Retype password:
pgAdmin 4 - Application Initialisation
Starting pgAdmin 4. Please navigate to in your browser.


3. 런처 만들기 

icon 다운로드

(pgadmin4) pgadmin4|master ⇒ wget --no-check-certificate

shell 만들기

touch pgAdmin4.desktop
chmod +x pgAdmin4.desktop

(pgadmin4) pgadmin4|master ⇒ sudo subl
#! /bin/zsh
pyenv activate pgadmin4
python ~/.pyenv/versions/pgadmin4/local/lib/python2.7/site-packages/pgadmin4/ &
sleep 6; sensible-browser


(pgadmin4) pgadmin4|master ⇒ sudo subl pgAdmin4.desktop
[Desktop Entry]
Name=pgAdmin 4

Link 만들기 (런처 자동로드)

pgAdmin4.desktop  => ~/share/applications/

ln -s ~/.pyenv/versions/pgadmin4/local/lib/python2.7/site-packages/pgadmin4/pgAdmin4.desktop ~/.local/share/applications/


Categories: Postgresql


Blog Owner

Notify of

Inline Feedbacks
View all comments
Would love your thoughts, please comment.x