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_directory、unix_socket_group和unix_socket_permissions 设置可能是问题的根源。
由于引用的错误消息特别提到了套接字文件,请仔细查看unix_socket_directory、unix_socket_group, 和 unix_socket_permissions.
如果 unix_socket_directory 指向 /tmp 以外的地方,则存在各种解决方法。
或者,假设服务器是 运行,可能会尝试在不查看 postgresql.conf 文件的情况下找到套接字文件,尽管这可能会使解决权限、端口等问题变得更加困难。 locate
、find
等工具可与 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 帮助。
我正在用头撞墙。已经 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_directory、unix_socket_group和unix_socket_permissions 设置可能是问题的根源。
由于引用的错误消息特别提到了套接字文件,请仔细查看unix_socket_directory、unix_socket_group, 和 unix_socket_permissions.
如果 unix_socket_directory 指向 /tmp 以外的地方,则存在各种解决方法。
或者,假设服务器是 运行,可能会尝试在不查看 postgresql.conf 文件的情况下找到套接字文件,尽管这可能会使解决权限、端口等问题变得更加困难。 locate
、find
等工具可与 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 帮助。