【PostgreSQL】解决“psql: error: could not connect to server: 拒绝连接”

目录

1、遇到问题

 2、问题分析

3、问题解决

4、注意


1、遇到问题

psql -U postgres -d postgres -h 192.168.88.198 -p 5432

psql: error: could not connect to server: 拒绝连接
    Is the server running on host "192.168.88.198" and accepting
    TCP/IP connections on port 5432?

 2、问题分析

  • 首先查看端口5432占用情况。
netstat -anp | grep 5432

 pgsql默认监听的是localhost或127.0.0.1,目前只能本机访问。

如果远程访问就连接不上了,具体的配置文件是/etc/postgresql/12/main目录下的postgresql.conf,可以通过修改这个配置文件来调整各个参数。

比如:listen_addresses可以修改绑定的地址,默认是localhost,port可以修改监听的端口号,默认是5432,max_connections可以修改最大客户端连接数量,默认是100等等。

3、问题解决

先把postgresql服务停止。

sudo systemctl stop postgresql
  • 进入目录/etc/postgresql/12/main
cd /etc/postgresql/12/main
ls

  •  修改文件postgresql.conf
listen_addresses = '*'		        # what IP address(es) to listen on;

  •  修改文件pg_hba.conf
host    all             all             192.168.88.198/32       md5
host    all             all             0.0.0.0/0               md5

第一种格式:host  all  all 192.168.88.198/32  md5

可以设置指定ip连接到数据库服务上。

第二种格式:host  all  all 0.0.0.0/0  md5

任意外部ip都可访问到数据库服务。

上述方式选择其一即可。

 

  •  重启postgresql服务
sudo systemctl start postgresql

  •  远程连接
psql -U postgres -d postgres -h 192.168.88.198 -p 5432

 成功解决问题。

4、注意

host    all             all             192.168.88.198/32       md5
host    all             all             0.0.0.0/0               md5

语法

local <dbname> <user> <auth-method> [auth-options]

host <dbname> <user> <ip/masklen> <auth-method> [auth-options]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

嵌入式职场

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值