用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登录一遍,记住用户邮箱和密码,也就不用每次都输入了。
事实证明这样安装最简单。
把这个写进真正项目的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://*.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
但是说缺少秘钥,没成功。