我在网上查找了很多解决办法但却无能为力。
首先,我根据这里改变了我的配置。
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 is world writable!
Status: active
To Action From
-- ------ ----
5432/tcp ALLOW Anywhere
5432 ALLOW Anywhere
5433 ALLOW Anywhere
5432/tcp (v6) ALLOW Anywhere (v6)
5432 (v6) ALLOW Anywhere (v6)
5433 (v6) ALLOW Anywhere (v6)
ali@ali:$~ netstat -lntu
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State
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:* LISTEN
tcp 0 0 127.0.0.1:631 0.0.0.0:* LISTEN
tcp 0 0 127.0.0.1:2628 0.0.0.0:* LISTEN
tcp6 0 0 :::80 :::* LISTEN
tcp6 0 0 ::1:631 :::* LISTEN
tcp6 0 0 :::1716 :::* LISTEN
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 时我遇到了同样的问题...
abolfazl@abolfazl-Lenovo-ideapad-310-15ISK:~$ sudo systemctl status ‘postgresql*’ ×[电子邮件保护]- PostgreSQL 集群 16-main 已加载:已加载(/lib/systemd/system/[电子邮件保护];启用运行时;供应商预设:启用) 活动:失败(结果:协议)自 2023-12-29 星期五 17:32:51 +0330;10 分钟前 进程:7640 ExecStart=/usr/bin/pg_ctlcluster --skip-systemctl-redirect 16-main start(代码=exited,状态=255/EXCEPTION) CPU:57毫秒 12 月 29 日 17:32:51 abolfazl-Lenovo-ideapad-310-15ISK systemd[1]: 正在启动 PostgreSQL Cluster 16-main... 12 月 29 日 17:32:51 abolfazl-Lenovo-ideapad-310-15ISK postgresql@16-main[7640]: 使用 -T 开关运行时,$ENV{PATH} 中的目录不安全 > 12月29日 17:32:51 abolfazl-Lenovo-ideapad-310-15ISK systemd[1]:[电子邮件保护]:无法打开 PID 文件 /run/postgresql/16-main.pid (ye> 12月29日 17:32:51 abolfazl-Lenovo-ideapad-310-15ISK systemd[1]:[电子邮件保护]:结果“协议”失败。 12 月 29 日 17:32:51 abolfazl-Lenovo-ideapad-310-15ISK systemd[1]: 无法启动 PostgreSQL Cluster 16-main。 ● postgresql.service - PostgreSQL 关系数据库管理系统 已加载:已加载(/lib/systemd/system/postgresql.service;已启用;供应商预设:已启用) 活跃:自 2023-12-29 星期五 17:32:51 +0330;10 分钟前开始活跃(已退出) 进程:7641 ExecStart=/bin/true(代码=退出,状态=0/成功) 主 PID:7641(代码=已退出,状态=0/成功) CPU:2毫秒 12 月 29 日 17:32:51 abolfazl-Lenovo-ideapad-310-15ISK systemd[1]: 正在启动 PostgreSQL RDBMS... 12 月 29 日 17:32:51 abolfazl-Lenovo-ideapad-310-15ISK systemd[1]: 完成 PostgreSQL RDBMS。 1-21/21 行(结束)