ubuntu install pgAdmin4


用py寫的flask web server 用web頁面作為postgres的客戶端 GUI,安裝在本地就可以了。

 

一、容器

 參考 https://www.pgadmin.org/docs/pgadmin4/latest/container_deployment.html

docker-compse.yml 

version: '3.7'

services:
  pgAdmin4:
    restart: always
    image: dpage/pgadmin4:latest
    environment:
      PGADMIN_DEFAULT_EMAIL: abc@xmail.com
      PGADMIN_DEFAULT_PASSWORD: 1111
    ports:
      - "8080:80" #頁面
    

啟動:

docker-compose up

 

然后就可以用瀏覽器打開

http://127.0.0.1:8080

看見pgAdmin4的登錄界面,就算成功。表示flask web server 已經啟動了。

用chrome登錄一遍,記住用戶郵箱和密碼,也就不用每次都輸入了。

 

唯一美中不足的是:連接數據庫時 Host 要填 局域網中的ip地址,不能127.0.0.1

 

事實證明這樣安裝最簡單。

把這個寫進真正項目的docker-compse.yml  更省事。

避免了 本地安裝python wheel,和pgAdmin4本身不斷提示升級。

 

二、Python Wheel

 

參考https://linuxhint.com/install-pgadmin4-ubuntu/

安裝依賴

$ sudo apt-get install build-essential libssl-dev libffi-dev libgmp3-dev \
virtualenv python-pip libpq-dev python-dev

 

 確認當前是py版本:和pip安裝的庫路徑

馬上2020年1月, py2就不支持了. 所以確認一下都是py3.6.

 

python
from distutils.sysconfig import get_python_lib
print(get_python_lib())

我自己竟然發現默認版本是不知什么時候裝的Anaconda3,

想卸載,官網https://docs.anaconda.com/anaconda/install/uninstall/  提示 卸載只能刪除,2333

 

確認 pip是2的還是3的

進入文件夾

/usr/local/bin

看看,pip 是更像 pip2 還是更像pip3,否則pip了半天,還是運行不了

python2 到2020年就不支持了,確保pip 和python都指向系統自帶的3.6 

 

 

下載安裝。

居然不發布到pip上,幾個意思

wget https://ftp.postgresql.org/pub/pgadmin/pgadmin4/v4.16/pip/pgadmin4-4.16-py2.py3-none-any.whl --no-check-certificate

sudo -H pip3 install pgadmin4-4.16-py2.py3-none-any.whl

安裝了一堆py庫,凈是老面孔,2333

 如果出現

Cannot uninstall 'psutil'. It is a distutils installed project and thus we cannot accurately determine which files belong to it which would lead to only a partial uninstall.

sudo -H pip3 install pgadmin4-4.16-py2.py3-none-any.whl --ignore-installed

 

 參考https://www.pgadmin.org/faq/#2

運行

sudo xed /usr/local/lib/python3.6/dist-packages/pgadmin4/config_distro.py

sudo xed /usr/local/lib/python3.7/site-packages/pgadmin4/config_distro.py

 

加入SERVER_MODE = False

然后再運行,不然必須輸入email+pwd 煩。

 

sudo python3 /usr/local/lib/python3.6/dist-packages/pgadmin4/pgAdmin4.py 

python3.7 /usr/local/lib/python3.7/site-packages/pgadmin4/pgAdmin4.py

 

結果

OSError: [Errno 13] Permission denied: '/var/lib/pgadmin'

 參考:

https://stackoverflow.com/questions/46707935/oserror-errno-13-permission-denied-var-lib-pgadmin

sudo mkdir "/var/log/pgadmin"
sudo chmod a+wrx "/var/log/pgadmin"

sudo mkdir "/var/lib/pgadmin"
sudo chmod a+wrx "/var/lib/pgadmin"

 

居然是用flask寫的一個web! 訪問默認網址http://127.0.0.1:5050/browser/#

有點意思

 

看見除了默認的postgres數據庫之外, 已經創建出了1個template_postgis數據庫,包含幾個extention(dockerfile 安裝時initdb-postgis.sh里定義)

 

 

三、APT

https://wiki.postgresql.org/wiki/Apt

但是說缺少秘鑰,沒成功。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM