postgresql不是以Linux

时间:2017-07-03 06:52:37

标签: linux postgresql

我遇到了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”不存在

我在网上搜索过,但没有找到解决此问题的好方法。

请有人帮我这个。提前谢谢你

1 个答案:

答案 0 :(得分:0)

停止数据库服务器并以单用户模式启动它。

然后您可以查询有哪些用户。

您必须弄清楚系统上安装postgres可执行文件的位置,例如与pg_config --bindir。我将在下面假设/path/to/postgres/bin

  • 成为PostgreSQL操作系统用户(通常为postgres)。

  • 使用

  • 停止PostgreSQL服务器
    pg_ctl stop -D /home/mycomputer/var/postgres/ -m fast
  • 使用
  • 以单用户模式启动PostgreSQL
    /path/to/postgres/bin/postgres --single -D /home/mycomputer/var/postgres/ template1
  • 在提示符处输入

    SELECT usename, usesuper FROM pg_user
    
  • 离开会话并按Ctrl+D关闭数据库。

现在您了解该PostgreSQL集群中的所有用户。

您可以启动数据库服务器并使用其中一个连接到数据库。