我遇到了一个问题psql:错误:通过套接字连接到服务器
大家好,我在网上查找了很多方法来解决这个问题,但却无能为力。
首先,我根据这里改变了我的配置。
listen_addresses = '*' 端口= 5432 数据目录 = '/var/lib/postgresql/9.3/main' unix_socket_directories = '/var/run/postgresql,/tmp' # 逗号分隔列表 > #(更改需要重启) unix_socket_group = '' #(更改需要重新启动) unix_socket_permissions = 0777 # 以 0 开头以使用八进制表示法 #(更改需要重启) bonjour = off # 通过 Bonjour 宣传服务器 #(更改需要重启) bonjour_name = '' ali@ali:~$ sudo systemctl restart postgresql ali@ali:~$ psql $ psql psql:通过套接字“/var/run/postgresql/.s.PGSQL.5432”连接到服务器失败:没有此文件或目录 服务器是否在本地运行并接受该套接字上的连接? ali@ali:~$ 导出 PGHOST=localhost ali@ali:~$ psql psql:连接到“localhost”(127.0.0.1)的服务器,端口 5432 失败:连接被拒绝 服务器是否在该主机上运行并接受 TCP/IP 连接?
我的 hba 文件:
# 通过 Unix 域套接字进行数据库管理登录 托管所有 postgres 对等体 # “local” 仅适用于 Unix 域套接字连接 本地 全部 全部 对等体 # IPv4 本地连接: 主机全部全部 127.0.0.1/32 md5 主机全部全部 0.0.0.0/0 md5 #IPv6 本地连接: 主机全部全部::1/128 md5 主机全部全部 192.168.1.0/24 md5
ali@ali:$~ sudo ufw allow 5432 ali@ali:$~ sudo ufw status WARN: /etc 是全球可写的!状态:活动
行动来自
5432/tcp 允许任何地方
5432 允许任何地方
5433 允许任何地方
5432/tcp (v6) 允许任何地方 (v6)
5432 (v6) 允许任何地方 (v6)
5433 (v6) 允许任何地方 (v6)
ali@ali:$~ netstat -lntu 活动的 Internet 连接(仅服务器) Proto Recv-Q Send-Q 本地地址 外部地址 状态
tcp 0 0 127.0.0.1:46589 0.0.0.0:* LISTEN
tcp 0 0 127.0.0.1:36287 0.0.0.0:* LISTEN
tcp 0 0 127.0.0.1:37915 0.0.0.0:* LISTEN
tcp 0 0 127.0.0.1:40483 0.0.0.0:* LISTEN tcp 0 0
127.0.0.53:53 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:42069 0.0.0.0:* LISTEN
tcp 0 0 127.0.0.1:9050 0.0.0.0:* 侦听
tcp 0 0 127.0.0.1:631 0.0.0.0:*侦听
tcp 0 0 127.0.0.1:2628 0.0.0.0:* 侦听
tcp6 0 0 :::80 :::* 侦听 tcp6
0 0 ::1:631 :::* 侦听 tcp6
0 0 :::1716 :::* 侦听
udp 0 0 127.0.0.53:53 0.0.0.0:*
udp 0 0 0.0.0.0:631 0.0.0.0:*
udp 0 0 0.0.0.0:42069 0.0.0.0:*
udp 0 0 0.0.0.0:5353 0.0.0.0:*
udp 0 0 0.0.0.0:60941 0.0.0.0:*
udp6 0 0 :::5353 :::*
udp6 0 0 :::56614 :::*
udp6 0 0 :::1716 :::*
似乎端口 5432 没有打开,无论如何我都无法打开该端口 :( 我也通过 chmod 将权限更改为 777 我不知道我该怎么办。Ubuntu 版本 20.04.03 Postgradesql 版本:9.3 当我安装 postgradesql 14 或 15 或 16 时我遇到了同样的问题...