在使用以下命令遵循安装过程后,我正在尝试在我的ubuntu16.04
或14.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分钟前
您可以运行以下命令来检查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