前面我们已经配置的PostgresSQL的本地连接,现在需要进行远程连接。
【客户端环境】WIN10,Navivat Premium。后面这个软件,需要自己去下载。
一、尝试远程连接
- 打开Navivat Premium,选择连接PostgresSQL
如下图所示
- 输入数据库连接配置
- 输入连接名(看兴致随便起)
- 输入数据库服务器IP
- 端口号默认5432
- 输入数据库名称testdb (这是我创建的,您前面自己创建的是什么就自己连什么)
- 输入用户名 (前面自己创建的数据库用户名)
- 输入数据库用户密码
3. 点击“连接测试”
【报错】连接不上,这是预期内的。因为我们还没有配置服务器接受远程连接。
二、配置服务器接受远程连接
1.登录服务器(略)
- 输入以下命令,编辑postgresql.conf文件
vi /var/lib/pgsql/11/data/postgresql.conf
- 把原来的
#listen_addresses = 'localhost’
改成
listen_addresses = '*'
- 把原来的
#port = 5432
前面的注释符号#去掉
port = 5432
- 重启服务
systemctl restart postgresql-11
- 再次尝试连接
【报错】仍然连接不上,
2.关闭服务器防火墙
- 输入如下命令,关闭服务器防火墙
systemctl stop firewalld
- 再次连接
【报错】变为如下
原因是没有配置pg_hba.conf文件,未允许localhost以外的主机连接
3. 修改pg_hba.conf文件
- 输入以下命令,编辑pg_hba.conf文件
vi /var/lib/pgsql/11/data/pg_hba.conf
- 添加如下一行,如下图
host all all 0.0.0.0/0 md5
- 重启服务
systemctl restart postgresql-11
- 再次尝试连接,成功
4. 配置服务器防火墙设置
前面我们知道,由于服务器防火墙的原因,不允许外部访问5432接口。
我们当然不能一直关闭服务器防火墙,所以需要修改防火墙设置,接受访问5432接口。
- 输入如下命令,添加允许访问的端口
firewall-cmd --permanent --add-port=5432/tcp
- 重启防火墙服务
systemctl restart firewalld
- 再次连接数据库看看,成功了。
到此位置,基本的配置就完成了。