PostgreSQL 无法连接到服务器:端口5432上的TCP/IP连接
错误
安装好PostgreSQL之后,在运行SQL语句,输入密码之后,有时候会出现下面的错误信息:
- 'psql' 不是内部或外部命令,也不是可运行的程序 或批处理文件。
- psql: 无法联接到服务器
- 服务器是否在主机 "localhost"(127.0.0.1) 上运行并且准备接受在端口5432 上的 TCP/IP 联接?
解决办法
1.配置环境变量
打开“设置”-“系统”-“系统信息”-“高级系统设置”-“环境变量”

注:这里的路径是下载postgresql的路径,默认的话就是(C:Program FilesPostgreSQLin)17是版本
2.检查是否启动postgres
win+R打开命令框,输入services.msc打开服务列表 右键“启动”或“”重新启动,如果没有还报错,请进行下一步

3.改监听
①在postgresql安装文件夹 ‘data’ 里(默认:C:Program FilesPostgreSQLdata)找到pg_hba.conf 然后用记事本打开。


在里面找到 “ # IPv4 local connections: ” 然后在这一行的上面添加“ local pgsql all trust ”,
在 “ host all all 127.0.0.1/32 scram-sha-256 ” 这一行下面添加
“ host all all 192.168.91.1/24 scram-sha-256 ”
(注:这两句后面的 scram-sha-256 你的可能跟我的不一样,没有关系,你原来的语句是啥你添加的时候改成一样的就行
②用记事本打开“postgresql.conf” (就在上面那个文件pg_hba.conf 的下面)找到“ listen_addresses = 'localhost' ”,把它改成“ listen_addresses = '*' ”。
(直接在记事本里查找--复制双引号内的语句--如果找不到,就说明不需要改了,我的就是直接有后面那个)这样就可以监听所有ip地址的连接了。 

③重启postgres(还是按照上面2的方法重启)
进行完这几步,基本可以解决了,我和我室友第一次安装postgresql写作业的时候,都遇到了这个困惑,经过网页搜索、阅读博主发的帖子,一次次动手去解决,最后也是成功攻克。于是,我就试着总结一下,想给同样遇到此问题的朋友们提供帮助。在这里非常感谢提供解决思路的大佬们!








