在学习 PostgreSQL 的过程中,相信很多人都遇到过下面这个错误,错误代码如下:

1、解决方法:
export PGHOST=localhost

一 问题描述
--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 参数的连接依然会报这个错,有兴趣的朋友可以自己试一试。

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

  1. psql:connections on Unix domain socket /tmp/.s.PGSQL.5432?

    这个报错全部信息如下: psql: could not connect to server: No such file or directoryIs the server running locall ...

  2. Linux中通过Socket文件描述符寻找连接状态介绍

    针对下文的总结:socket是一种文件描述符 进程的打开文件描述符表 Linux的三个系统调用:open,socket,pipe 返回的都是一个描述符.不同的进程中,他们返回的描述符可以相同.那么,在 ...

  3. mysql的socket文件下载,mysql下的socket文件作用

    网络上的两个程序通过一个双向的通信连接实现数据的交换,这个连接的一端称为一个socket,一般在配置部署mysql环境时都会在mysql的my.cnf文件中[mysqld]栈下添加上socket文件的 ...

  4. tcp socket 和 socket文件

    tcp socket tcp socket 是标示了一台主机的进程,是tcp连接中一端的实例.socket不是连接,只是表示了其中一端.由IP和port构成. tcp 连接 tcp连接由两台主机上的进 ...

  5. linux学习---linux基于文件的IPC(匿名管道pipe,命名管道mkfifo,普通文件,socket文件)

    常用的IPC分为两个类别,一是基于文件,而是基于内存 基于文件的分别有匿名管道,有名管道,普通的文件共享,socket文件 基于内存的有普通内存共享(本文章没有介绍),共享内存,共享信号量,消息队列 ...

  6. Linux MySQL的socket文件存在位置更改

                 Linux MySQL的socket文件存放位置的更改 sock 在IT里直白的翻译就是网络套接字,插座.当然,也可以理解为一种网络通讯协议,该协议支持tcp,udp,ICM ...

  7. Java基于Socket文件传输示例

    这个实例中的socket文件传输采用了缓冲输入/输出流来包装输出流,再采用数据输入/输出流进行包装,加快传输的速度. 先来看服务器端的程序. 1.服务器端 import java.io.Buffere ...

  8. 解读年度数据库性能:PostgreSQL的日志文件和数据加载

    墨墨导读:本文主要介绍PostgreSQL的日志文件参数及注意事项,从csv日志中载入数据库.通过灵活的数据加载方式,让SQL在处理很多问题上更加简捷便利. 运行日志参数 1.1 运行日志主要参数 运 ...

  9. PostgreSQL的日志文件和数据加载

    墨墨导读:本文主要介绍PostgreSQL的日志文件参数及注意事项,从csv日志中载入数据库.通过灵活的数据加载方式,让SQL在处理很多问题上更加简捷便利. 运行日志参数 1.1 运行日志主要参数 运 ...

最新文章

  1. OpenCV3的机器学习算法-K-means-使用Python
  2. 易宝典文章——玩转Office 365中的Exchange Online服务 之五 怎样利用PSl连接Exchange Online实现管理...
  3. 2021年春季学期-信号与系统-第十次作业参考答案-第二小题
  4. react不同环境不同配置angular_DevOps 前端项目(angular、vue、react)打包静态资源生成一份Docker镜像支持部署不同环境...
  5. Class.forName有什么作用
  6. 一个能够保护个人收藏夹隐私的Chrome扩展
  7. jquery cookie的用法
  8. jupyter notebook OSError: [WinError 10049] 在其上下文中,该请求的地址无效。
  9. 中科恒伦助力长江电力移动办公平台账号加固
  10. 微信小程序 canvas 绘图问题
  11. 从零开始学Android(一)
  12. uniapp更改switch大小
  13. 什么软件可以测试sd卡,如何做SD卡测试和SD卡测试工具
  14. 如何用js绘制流星雨特效
  15. Lua系列--pairs和ipairs
  16. 华为发布MetaAAU,能耗降低30%,性能节能双提升
  17. Opencv学习笔记 - 频域手段添加盲水印
  18. 读书笔记:《德鲁克管理思想精要》- 6
  19. 【Hive】分隔符 『 单字节分隔符 | 多字节分隔符』
  20. NL-Mean和BM3D去噪原理

热门文章

  1. LINUX kernel内核各版本下载
  2. np.partition介绍
  3. .Net 操作Word
  4. C语言项目案例分析 源代码
  5. C#使用OleDB操作ACCESS插入数据时提示:标准表达式中数据类型不匹配。
  6. 深度学习 机器学习基础_实用的机器学习基础
  7. WeChat----网站接入微信登录(前端)
  8. Centos7 添加大于2T磁盘,使用GPT硬盘格式和XFS文件系统
  9. 智能小区安防子系统实现
  10. left join不起作用