Postgresql Psql无法连接到服务器:没有这样的文件或目录,5432错误?

Postgresql Psql无法连接到服务器:没有这样的文件或目录,5432错误?,postgresql,vagrant,Postgresql,Vagrant,我正试图在我的Vagrant机器上运行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"? 注:流浪汉1.9.2 方框:ubuntu/trusty64 编辑 我用于安装

我正试图在我的Vagrant机器上运行
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"?
注:流浪汉1.9.2 方框:ubuntu/trusty64

编辑 我用于安装和运行postgres的命令:

  • sudo-apt-get-update
  • sudo apt get install postgresql
  • sudo su postgres
  • psql-d postgres-U postgres

  • /etc/postgresql/9.6/main/postgresql.conf
    是否显示分配的端口?在我默认的Xubuntu Linux安装中,出于某种原因,我的显示为port=5433,这是我记忆中最清楚的,但我确实注释掉了同一文件中的一行,该行说
    listen\u addresses='localhost'
    ,并取消注释了该行
    listen\u addresses='*'
    。所以也许可以开始检查一下。希望能有所帮助。

    我也遇到了同样的问题,与pg_hba.conf文件的配置有关(位于
    /etc/postgresql/9.6/main
    )。请注意,9.6是我正在使用的postgresql版本

    错误本身与postgresql的错误配置有关,这会导致服务器在启动前崩溃

    我建议遵循以下说明:

  • 使用
    sudo服务postgresql start
  • 从终端运行
    pglsu集群
  • 检查您正在运行的集群是什么,输出应该如下所示:

    版本-群集端口状态所有者数据目录

    9.6-----main--5432在线postgres/var/lib/postgresql/9.6/main

    忽略“--”符号,因为它们仅用于对齐。 重要信息是版本和集群。您还可以在“状态”列中检查服务器是否正在运行

  • 从版本和群集复制信息,并像这样使用:
    pg_ctlcluster start
    ,因此在我的情况下,使用9.6版和集群“main”,它将是
    pg_ctlcluster 9.6 main start
  • 如果出现问题,postgresql将生成一个日志,可以在
    /var/log/postgresql/postgresql--main.log
    上访问,因此在我的例子中,完整的命令将是
    sudo nano/var/log/postgresql/postgresql-9.6-main.log
  • 输出应该显示错误是什么。 2017-07-13 16:53:04 BRT[32176-1]日志:无效的身份验证方法“全部”
    2017-07-13 16:53:04 BRT[32176-2]上下文:配置文件/etc/postgresql/9.5/main/pg_hba.conf的第90行“
    2017-07-13 16:53:04 BRT[32176-3]致命:无法加载pg_hba.conf

  • 修复错误并通过
    sudo-service-postgrestart
    重新启动postgresql服务,一切正常
  • 为了找到这个,我找了很多,这是我的功劳


    祝你好运

    打开数据库管理器并执行此脚本

    update pg_database set datallowconn = 'true' where datname = 'your_database_name';
    

    我在VM中创建SQL db时也遇到了同样的错误。我已经将/etc/postgresql/9.3/main/postgresql.conf
    shared_buffers=200MB
    的默认值更改为我总RAM的75%。嗯,我忘了在虚拟机中实际分配RAM。当我发出创建新数据库的命令时,我收到了相同的错误


    关闭电源,给婴儿奶瓶(公羊)和普雷斯托,它工作了

    同样的事情发生在我身上,因为我更改了
    /etc/hosts
    文件中的某些内容。在将其更改回
    127.0.0.1 localhost之后,它对我很有效。

    我只是为那些像我发现这个问题时那样感到失落和绝望的人发布这篇文章。有时,通过编辑一些psotgresql相关的配置文件,可能会意外更改文件的权限:

    请注意pg_hba.conf如何属于root,用户甚至无法读取它。这会导致postgres无法打开此文件,因此无法启动服务器,引发原始问题中出现的错误

    通过运行

    sudo chmod +r pg_hba.conf
    
    我能够让postgres用户再次访问这个文件,然后在运行之后

    sudo service postgresql start
    
    能够让服务器重新运行。

    我也遇到了同样的问题,但这里的答案都没有帮助。 我如何修复它(mac)
    • 尝试使用
      pg_ctl-D/usr/local/var/postgrestart启动postgresql
    • 查找错误消息,该消息显示类似
      致命:无法打开目录“pg_tblspc”:没有此类文件或目录
    • 创建丢失的目录
      mkdir/usr/local/var/postgres/pg\u tblspc
    • 从第一步开始重复,直到创建了所有缺少的目录
    • 完成后,再次尝试启动postgresql时,可能会说
      FATAL:lock文件“postmaster.pid”已经存在
    • 删除postmaster.pid
      rm/usr/local/var/postgres/postmaster.pid
    • 开始postgres时使用:
      pg_ctl-D/usr/local/var/postgrestart
    • 完成✨
    只需使用直接版本sudo apt get install postgresql-9.5重新安装您的pgsql(您必须在安装新程序包之前删除该程序包)

    警告:这将删除数据库

    使用命令:

    rm -rf /usr/local/var/postgres && initdb /usr/local/var/postgres -E utf8
    

    警告:这将删除数据库

    在zsh内:

    rm-rf/usr/local/var/postgres&&initdb/usr/local/var/postgres-E utf8
    

    经过无数个小时的故障排除,这是唯一对我有效的方法。

    我通过运行以下命令解决了问题:

    sudo systemctl start postgresql@9.5-main
    
    这对我很有用:

    pg_ctl -D /usr/local/var/postgresql@9.6 stop;
    brew services stop postgresql@9.6;
    brew services start postgresql@9.6;
    

    当我从上一个pg_basebackup文件还原数据库时,出现了这个错误。之后,当我尝试连接数据库(psql)时,我得到了相同的错误。当我更新pg_hba.conf文件时,无论哪里有“对等”身份验证,我都将其替换为“md5”,然后重新启动postgres服务。在那之后,t
    lsof -i | grep 'post'
    
    psql -U postgres -p "port_in_use"
    
    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"?
    
    brew services stop postgresql@11
    brew services start postgresql@11
    
    brew services stop postgresql@12
    brew services start postgresql@12
    brew postgresql-upgrade-database
    
    rm /usr/local/var/postgres/postmaster.pid
    brew services restart postgresql
    
    brew postgresql-upgrade-database
    
    FATAL:  could not load server certificate file "/etc/ssl/certs/ssl-cert-snakeoil.pem": No such file or directory
    LOG:  database system is shut down
    pg_ctl: could not start server