美文网首页
关于psql命令无法进入命令行的问题

关于psql命令无法进入命令行的问题

作者: Hmcf | 来源:发表于2019-11-20 20:25 被阅读0次

今天有个朋友问我关于psql无法登陆的问题,错误日志如下:

[postgres@cloudman pgdata]$ /usr/local/bin/pg_10/bin/psql
psql: could not connect to server: No such file or directory
 Is the server running locally and accepting
 connections on Unix domain socket "/var/run/postgresql/.s.PGSQL.5432"?

也给我看了数据库的运行情况和pg_hba的配置,如下图

微信图片_20191120200759.png
微信图片_20191120200810.png
微信图片_20191120200716.png



实际这个问题,在错误日志和第三张图上配置文件里面已经体现出来了。
是由于配置参数 unix_socket_directories 的设置导致的。

在第三张图上,我们可以看到系统默认的参数值是 '/tmp',但是依赖于PostgreSQL的Project Open将无法工作,因为它在/var/run/postgresql中查找unix_socket。

解决途径有:

  • 在环境变量中添加 PGHOST 变量,指定到 /tmp 目录中
export PGHOST=/tmp

然后source 重新加载生效。

  • 修改postgresql.conf,更改unix_socket_directories参数的值为/var/run/postgresql
    然后reload配置生效。

  • 创建一个软链接

ln -s /tmp/.s.PGSQL.5432 /var/run/postgresql/.s.PGSQL.5432

相关文章

网友评论

      本文标题:关于psql命令无法进入命令行的问题

      本文链接:https://www.haomeiwen.com/subject/fedaictx.html