我遇到了postgresql的问题,当我尝试用psql执行查询时,我遇到了这样的错误:
psql:无法连接到服务器:没有这样的文件或目录 服务器是在本地运行还是接受 Unix域套接字“/var/run/postgresql/.s.PGSQL.5432”上的连接?
我在网上找到的解决方案是更改此文件的访问权限:
sudo chmod 777 / var / run / postgresql 并通过此命令行重启postgresql pg_ctl -D / home / mycomputer / var / postgres / -l logfile restart
我以postgres用户身份登录 sudo su postgres 但是现在我收到此错误消息: psql:致命:角色“postgres”不存在
我在网上搜索过,但没有找到解决此问题的好方法。
请有人帮我这个。提前谢谢你
答案 0 :(得分:0)
停止数据库服务器并以单用户模式启动它。
然后您可以查询有哪些用户。
您必须弄清楚系统上安装postgres
可执行文件的位置,例如与pg_config --bindir
。我将在下面假设/path/to/postgres/bin
。
成为PostgreSQL操作系统用户(通常为postgres
)。
使用
pg_ctl stop -D /home/mycomputer/var/postgres/ -m fast
/path/to/postgres/bin/postgres --single -D /home/mycomputer/var/postgres/ template1
在提示符处输入
SELECT usename, usesuper FROM pg_user
离开会话并按Ctrl+D
关闭数据库。
现在您了解该PostgreSQL集群中的所有用户。
您可以启动数据库服务器并使用其中一个连接到数据库。