Greenplum 数据库:psql:无法连接到服务器:没有那个文件或目录

Greenplum Database :psql: could not connect to server: No such file or directory

我正在用头撞墙。已经 4 days.but psql 没有连接。

我们有一个小的Greenplum数组database.In,我们有主节点。当我尝试使用 psql 实用程序时

出现此错误:

[gpadmin@master gpseg-1]$ psql
psql: could not connect to server: No such file or directory
Is the server running locally and accepting
connections on Unix domain socket "/tmp/.s.PGSQL.5432"?

我们试过了

关于搜索 postmaster.pid 个文件。

我们仍然删除了 it.But,错误仍然存​​在。

gpstate 显示什么?如果无法连接,请确保 GPDB master 是 运行:

ps ax | grep 'M master'

如果master是运行,它也会显示master监听的端口。

对于 gpadmin Linux 帐户,在 ~/gpAdminLogs 目录中查找。应该有一个或多个启动日志可以查看。

该错误通常意味着数据库已停止。你不应该删除这个文件,除非它是在一次严重的崩溃后遗留下来的,而这个文件从未被清除过。当您再次启动数据库时,您通常会检测到这种情况 - 它会抱怨文件已经存在。

我倾向于寻找

ps -eaf|grep -i silent

查看 postmaster 进程。

如果 master 宕机了,但是 segments 启动了,你只需要启动 master

gps酸-m

然后用

停止一切

gpstop -M fast

失败的原因应该在$MASTER_DATA_DIRECTORY/pg_log中,可能在相应的段pg_log目录中。如果 master 或 segments 出现 panic,也可能有 core 文件。

使用像 ( netstat -ln; ps -ef ) | egrep '(postgres)|(postmaster)|(5432)' 这样的命令来尝试确定 postgres 服务器的实例是否是 运行。

如果 postmaster 不是 运行,删除 postmaster.pid 文件并重新启动数据库。虽然我不使用 Greenplum 数据库,但我看到这里有说明:Starting and Stopping the Greenplum Database. Do not remove the postmaster.pid file without make sure the database is not 运行,并注意在不启动数据库的情况下删除 postmaster.pid 文件是没有意义的。

最好打开你的 postgresql.conf 文件并查看 listen_addresses, 端口unix_socket_directoryunix_socket_groupunix_socket_permissions 设置可能是问题的根源。

由于引用的错误消息特别提到了套接字文件,请仔细查看unix_socket_directoryunix_socket_group, 和 unix_socket_permissions.

如果 unix_socket_directory 指向 /tmp 以外的地方,则存在各种解决方法。

或者,假设服务器是 运行,可能会尝试在不查看 postgresql.conf 文件的情况下找到套接字文件,尽管这可能会使解决权限、端口等问题变得更加困难。 locatefind 等工具可与 sudo 结合使用或由 root 用户使用。

$ sudo find /tmp /var -name .s.PGSQL.5432

假设 .s.PGSQL.5432 文件问题的位置是问题的根本原因,请在 [=16= 上指定套接字文件位置] 命令行可能是最直接的解决方法。例如,如果 *.s.PGSQL.5432 文件在 /var/pgsql_socket 目录中,就像在某些系统上一样,试试这个,但是,当然,使用.s.PGSQL.5432所在的实际目录:

$ pgsql -h /var/pgsql_socket

如果 .s.PGSQL.5432 文件在 /tmp 中,那么问题很可能是权限之一,并建议查阅 postgresql.conf 文件,可能必须将尝试 psql 命令的用户添加到有权访问套接字文件的组中. (记住,更改群组成员资格后注销并重新登录。)

尽管该页面似乎不一定与此问题直接相关,但请根据需要考虑 Accessing the Database 帮助。