ubuntu安装postgresql以及pgadmin4当前最新(4.3)网页版
pgAdmin4安装
1.安装安装包
sudo apt-get install build-essential libssl-dev libffi-dev libgmp3-dev virtualenv python-pip libpq-dev python-dev
2.创建虚拟环境
2.1 cd /opt/
2.2 mkdir enviromentpy
2.3 cd enviromentpy
2.4 virtualenv pgadmin4
2.5 cd pgadmin4
2.6 source bin/activate
3.下载并安装PGAdmin 4
wget https://ftp.postgresql.org/pub/pgadmin/pgadmin4/v4.3/pip/pgadmin4-4.3-py2.py3-none-any.whl # pip install pgadmin4-4.3-py2.py3-none-any.whl
注意版本,pgadmin4的版本要和postgresql版本对应。不能版本太低了,否则会出现服务连接等问题。在这里我默认安装当前的最新本版。这里最新版本是pgadmin4.4.3.
4.创建PGAdmin 4的本地配置文件
4.1 cd lib/python2.7/site-packages/pgadmin4
4.2 touch config_local.py
要将PGAdmin 4配置为在单用户模式下运行,请添加以下行:
echo "SERVER_MODE = False" >> lib/python2.7/site-packages/pgadmin4/config_local.py
5.运行
5.1 cd /opt/enviromentpy/pgadmin4
5.2 source bin/activate
5.3 python lib/python2.7/site-packages/pgadmin4/pgAdmin4.py
这样就可以使用pgadmin4的web版可视化工具了
参考:https://jingyan.baidu.com/article/59703552a31ba08fc0074024.html
postgresql9.6安装
如果之前有安装过postgresql,那么先卸载
sudo apt-get --purge remove postgresql,
sudo rm -r /etc/postgresql/
sudo rm -r /etc/postgresql-common/
sudo rm -r /var/lib/postgresql/
查看是否有遗漏:
dpkg -l | grep postgres
若有
sudo apt-get --purge remove postgresql-client-11amd64 为 dpkg -l | grep postgres 列出来的相关遗漏名
接下来开始安装
1先更新电脑,相关的依赖安装好。
sudo apt-get update
sudo apt-get upgrade
2安装postgresql9.6
sudo apt-get install postgresql-9.6
3安装命令行工具
sudo apt-get install postgresql-client
4启动
/etc/init.d/postgresql start
安装postgresql之后,会默认添加一个postgres用户,更改此用户的密码。
sudo vi /etc/postgresql/9.6/main/pg_hba.conf
将文件中的这行 host all all 127.0.0.1/32 md5
md5 改为 trust
效果 host all all 127.0.0.1/32 trust
(相关的vi更改文件命令操作:https://www.cnblogs.com/cbreeze/p/6080872.html)
进入 postgres用户,更改密码
1.su - postgres
2.psql
3.\password postgres
根据提示输入密码,需要输两次,密码设置好之后,再把pg_hba.conf文件更改回来
所有关于sudo权限的都不能在postgres用户里面更改,建议新开一个端口。
sudo vi /etc/postgresql/9.6/main/pg_hba.conf
host all all 127.0.0.1/32 trust
改为如下
host all all 127.0.0.1/32 md5
重启服务:/etc/init.d/postgresql restart
命令登录:psql -U postgres -h 127.0.0.1
大功告成!!!
在安装的过程中,出现了很多问题,大部分问题都一步一步解决了。就有一个问题,我在安装好了postgresql之后
/etc/init.d/postgresql start
[ ok ] Starting postgresql (via systemctl): postgresql.service.
服务成功启动,但是查进程查不到,在命令访问数据库的时候:psql -U postgres -h 127.0.0.1
psql: 无法联接到服务器: 拒绝连接
服务器是否在主机 "127.0.0.1" 上运行并且准备接受在端口
5432 上的 TCP/IP 联接?
出现这个问题,其实是因为服务没有启动,通常执行 /etc/init.d/postgresql start启动服务然后再用命令访问就OK了。
但是我已经启动了,又查不到5432端口的进程,postgresql配置文件里面的端口设置也是5432,IP地址也是设置的127.0.0.1. 一通查找也没有找到原因,幸亏我没有听从网友的意见重装系统,我又卸载,重新安装就好了。
ps:重新安装个系统,一堆环境要重新安装,之前重装过一次,一把心酸泪。
温馨提示:网上面我看有的网友在安装postgresql,或者启动服务访问不到,报错解决不了之后有建议重装系统的。在这里我表示反对,在ubuntu中,由于都是命令执行,导致会有莫名错误。这很正常,就postgresql来说,你只要卸载,重新安装,按照我说的步骤一步一步来,一定能安装好,并且访问到。