提问者:小点点

Postgreql是本地运行并接受Unix域连接的服务器


在使用以下命令遵循安装过程后,我正在尝试在我的ubuntu16.0414.04机器上安装postgresql-9.5或postgresql-9.6。

sudo apt-get install update
sudo apt-get install postgresql postgresql-contrib

但是当我尝试使用以下命令从终端打开psql

sudo su postgres 
psql 

每次都只是展示。

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

我已经尝试了大约10stackoverflow.com的解决方案,但没有成功。在我撕掉所有的头发之前,请帮帮我:(

$服务postgreql状态

● postgresql.service - PostgreSQL RDBMS
   Loaded: loaded (/lib/systemd/system/postgresql.service; enabled; vendor prese
   Active: active (**exited) since রবি 2017-03-12 21:45:56 BDT; 23min ago
  Process: 917 ExecStart=/bin/true (code=exited, status=0/SUCCESS)
 Main PID: 917 (code=exited, status=0/SUCCESS)
    Tasks: 0
   Memory: 0B
      CPU: 0
   CGroup: /system.slice/postgresql.service

仔细看这行为什么退出?活跃:自2017-03-12 21:45:56 BDT起活跃(退出);23分钟前


共2个答案

匿名用户

您可以运行以下命令来检查postgresql是否正在运行:

service postgresql status

如果PostgreSQL未启动,您可以使用以下方式启动它:

service postgresql start
service postgresql status

如果它没有正确启动,您可以查看日志中发生的情况:

tail /var/log/postgresql/postgresql-9.6-main.log

您可能需要运行createdb来初始化数据库(参见https://www.postgresql.org/docs/current/static/app-createdb.html):

createdb demo

更新

如果PostgreSQL在您执行service postgreql status但仍无法连接时正在运行,您应该检查PostgreSQL是否确实在端口5432或其他端口上运行:

netstat -na | grep postgres

更新2

由于debian/ubuntu for PostgreSQL上的原生软件包很糟糕,我建议您改为安装这些软件包:https://www.gab.lc/articles/install_postgresql_9-5_debian_ubuntu(将9-2替换为9-6)。

匿名用户

这就是删除现有postgresql版本和目录后最终解决我问题的方法

sudo apt-get --purge remove postgresql-*
sudo rm -Rf /etc/postgresql /var/lib/postgresql
sudo apt-get install postgresql