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

但是说缺少秘钥,没成功。

原文地址:https://www.cnblogs.com/xuanmanstein/p/13029310.html