注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

PostgreSQL 中文网

 
 
 

日志

 
 

PostgreSQL:关于 socket 文件 "/tmp/.s.PGSQL.nnnn" 丢失处理  

2013-04-25 09:52:58|  分类: PG案例分析 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |


         在学习 PostgreSQL 的过程中,相信很多人都遇到过下面这个错误,错误代码如下:
    
一 问题描述
--1.1 错误代码
 [pg92@redhatB ~]$ 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.1921"? 
备注:报错信息已经很显示,找不到文件 /tmp/.s.PGSQL.1921。

--1.2 查看 /tmp 
 [root@redhatB tmp]# ll -alrt /tmp | grep "1921"
-rw-------.  1 pg92  pg92    56  4月 24 20:42 .s.PGSQL.1921.lock
备注:可以看到,文件 /tmp/.s.PGSQL.1921 不存在。
  
--1.3 关于 "/tmp/.s.PGSQL.1921" 文件
      先来看看 socket 文件 "/tmp/.s.PGSQL.1921",其中 1921 是 pg 的端口号; socket 文件可以通过
 postgresql.conf 文件以下参数配置:

 #unix_socket_directory = ''
#unix_socket_permissions = 0777
 备注:其中参数 unix_socket_directory 用来配置 socket 文件的目录,默认是 /tmp 目录,参数 
          unix_socket_permissions 用来设置 socket 文件的权限。
        
          回到开头的问题,如何解决呢?这里提供两种方法。
               
 
二 方法一: 使用 -h 连接参数
 [pg92@redhatB ~]$ 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.1921"?
[pg92@redhatB ~]$ 

[pg92@redhatB ~]$ psql -h 127.0.0.1
psql (9.2.1)
Type "help" for help.

postgres=# \q
 备注:指定 -h 参数后,不再报之前的错。
   
   
三 方法二:重启数据库
--3.1 重启数据库
 [pg92@redhatB ~]$ pg_ctl stop -m fast -D $PGDATA
waiting for server to shut down.... done
server stopped

[pg92@redhatB ~]$ pg_ctl start -D $PGDATA
server starting
 
--3.2 再次查看 socket 文件
 [root@redhatB tmp]# ll -alrt /tmp | grep "1921"
-rw-------.  1 pg92  pg92    56  4月 24 21:06 .s.PGSQL.1921.lock
srwxrwxrwx.  1 pg92  pg92     0  4月 24 21:06 .s.PGSQL.1921
 备注:数据库重启后,在 /tmp 目录下会产生 .s.PGSQL.1921 文件。

--3.3 连接测试
 [pg92@redhatB ~]$ psql
psql (9.2.1)
Type "help" for help.

postgres=# 
 备注:这时 psql 连接时不再报之前的错。
 

四 疑问: 有没有不重启,也不带 -h 参数的方法解决这个问题?

        目前还没找到不重启,也不带 -h 参数就能解决的方法,本人也测试过复制文件 .s.PGSQL.1921 
  到 /tmp 目录,但不带 -h 参数的连接依然会报这个错,有兴趣的朋友可以自己试一试。
     
     
五 参考

  评论这张
 
阅读(11743)| 评论(4)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2016