PostgreSQL无法连接到服务器:没有这样的文件或目录

时间:2018-10-31 18:00:55

标签: postgresql ubuntu debian ubuntu-14.04 postgresql-9.3

不好意思,我对Ubuntu和Postgresql不了解。   我有一个带有Ubuntu 14.04.5 LTS(GNU / Linux 2.6.32-042stab127.2 x86_64)的VPS,还安装了Postgresql。我在Rails应用程序的ruby中使用Postgresql。我用

重新启动ubuntu
  

$ sudo重新启动

突然我的应用程序和Postgresql数据库停止运行并抛出错误

  

无法连接到服务器:没有这样的文件或目录是服务器   在本地运行并接受Unix域套接字上的连接   “ /var/run/postgresql/.s.PGSQL.5432”?

    $ sudo -i -u postgres
    $ 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"?


    $psql -V 
     psql (PostgreSQL) 11.0 (Ubuntu 11.0-1.pgdg14.04+2)

    $pg_config --version
      PostgreSQL 11.0 (Ubuntu 11.0-1.pgdg14.04+2)

    $postgres -V
     The program 'postgres' is currently not installed. You can install it by typing:
     apt-get install postgres-xc

   $locate bin/postgres
    /usr/lib/postgresql/11/bin/postgres
    /usr/lib/postgresql/9.3/bin/postgres
    /usr/lib/postgresql/9.4/bin/postgres
    /usr/lib/postgresql/9.5/bin/postgres

  $/usr/lib/postgresql/11/bin/postgres -V
    postgres (PostgreSQL) 11.0 (Ubuntu 11.0-1.pgdg14.04+2)

  $pg_lsclusters
  9.3 main    5432 down   postgres /var/lib/postgresql/9.3/main /var/log/postgresql/postgresql-9.3-main.log
  11  main    5433 down   postgres /var/lib/postgresql/11/main  /var/log/postgresql/postgresql-11-main.log

postgres状态为关闭

 $service postgresql status
 9.3/main (port 5432): down
 11/main (port 5433): down

 $systemctl status postgresql.service

  postgresql.service
  Loaded: error (Reason: No such file or directory)
 Active: inactive (dead)

 $systemctl status postgresql@9.3-main.service

   postgresql@9.3-main.service
   Loaded: error (Reason: No such file or directory)
   Active: inactive (dead)
  

$ grep -H'^ port'/etc/postgresql/*/main/postgresql.conf           /etc/postgresql/11/main/postgresql.conf:port = 5433
          /etc/postgresql/9.3/main/postgresql.conf:port = 5432

我正在尝试使用以下方式启动Postgresql 9.3

 $service postgresql start 9.3
    * Starting PostgreSQL 9.3 database server                                                                                          
    * Failed to issue method call: Unit postgresql@9.3-main.service failed 
     to load: No such file or directory. See system logs and 'systemctl 
     status postgresql@9.3-main.service' for details.


  $sudo systemctl start postgresql
   Failed to issue method call: Unit postgresql.service failed to load: No 
   such file or directory. See system logs and 'systemctl status 
    postgresql.service' for details.


   $/etc/init.d# /etc/init.d/postgresql start
    * Starting PostgreSQL 11 database server                                                                                           
    * Failed to issue method call: Unit postgresql@11-main.service failed to 
    load: No such file or directory. See system logs and 'systemctl status 
    postgresql@11-main.service' for details.

    [fail]
   * Starting PostgreSQL 9.3 database server                                                                                          
   * Failed to issue method call: Unit postgresql@9.3-main.service failed to 
    load: No such file or directory. See system logs and 'systemctl status 
    postgresql@9.3-main.service' for details.
    [fail]

我无法启动PostgreSQL。我不明白为什么它突然崩溃了,直到昨天它仍然可以正常工作。任何帮助都受到高度赞赏。提前致谢!

2 个答案:

答案 0 :(得分:0)

好像您的postgresql 11在PORT = 5433上运行,因此您需要更改PGPORT env变量。

export PGPORT = 5433

将PGPORT = 5433添加到/ etc / environment

sudo vim / etc / environment

PGPORT = 5433

答案 1 :(得分:0)

我想出了一个解决方案来安装这个依赖项以使用 postgresql。

sudo apt-get install libpq-dev python3-dev

使用它来安装它们

因为 Linux 用户需要为 PostgreSQL 安装一些依赖项才能使用 Python。