postgres 中的权限被拒绝

Permission denied in postgres

我错过了一点 chmod 和权限。 现在在访问文件夹时遇到了很多问题。

如果我启动服务器,我会在浏览器中看到:

 could not connect to server: Connection refused    Is the server running
     on host "localhost" (::1) and accepting    TCP/IP connections on port
     5432? 
could not connect to server: Connection refused     Is the server
     running on host "localhost" (127.0.0.1) and accepting  TCP/IP
     connections on port 5432?

命令

service --status-all

说明 postgres 有效

[ + ] postgresq works

接下来我更改了下一个文件

sudo nano /etc/postgresql/9.5/main/postgresql.conf

#listen_addresses = 'localhost'

listen_addresses = 'localhost, server_ip, *'

sudo nano /etc/postgresql/9.5/main/pg_hba.conf

添加

host    all         all         server_ip/24    trust

然后命令

psql -U postgres -h server_ip

错误

psql: could not connect to server: Connection refused
    Is the server running on host "95.213.200.26" and accepting
    TCP/IP connections on port 5432?
The following chain of actions leads to a slightly different error

命令

which psql

回答

/usr/bin/psql

sudo su - postgres

No directory, logging in with HOME=/

psql

psql: could not connect to server: Permission denied
    Is the server running locally and accepting
    connections on Unix domain socket "/var/run/postgresql/.s.PGSQL.5432"?

我必须在此处更改哪些文件权限?

检查侦听地址语法。使用:

listen_addresses = '*'

让服务器监听本地主机和服务器 ip。

检查服务器上的 unix_socket_directories 是否设置为与编译客户端时配置的默认套接字目录相同的目录 (/var/run/postgresql)(这需要重新启动服务器)。

或者,您可以使用psql--host选项或设置PGHOST环境变量来告诉客户端在/tmp中查找套接字文件,服务器创建它的位置。

看起来客户端和服务器来自不同的安装,否则两者配置的默认值应该相同。或者你不小心设置了错误的 PGHOST 环境变量。

这道题真的很难。我对 / 文件夹的权限 777 犯了一个大错误,整个系统崩溃了。所以删除服务器并开始新项目真的更容易。