无法访问Postgresql上的数据库?
无法访问Postgresql上的数据库?
我在尝试访问我的PostgreSQL数据库时遇到了错误:
sudo -i -u psquser psql psqdb
psql: 无法连接到服务器: 没有这个文件或目录 服务器是否在本地运行并在Unix域套接字"/var/run/postgresql/.s.PGSQL.5432"上接受连接?
我不知道导致这个问题的原因,因为在此之前我可以正常访问它。
由于之前遇到过这个问题,我试图按照这个指南重新安装postgresql
:如何彻底清除并重新安装Ubuntu上的PostgreSQL?[已关闭]。这花费了我很多时间,因为我必须从头开始配置几乎所有内容。
有没有更好的替代方法来解决这个问题?我可以知道这个问题的根本原因吗?
附注:我在Digital Ocean上托管了这台服务器。
问题:无法访问Postgresql数据库的原因和解决方法
在使用Postgresql时,出现了无法访问数据库的问题。有个帖子建议检查Postgresql是否正在运行,可以通过以下命令来检查:sudo /etc/init.d/postgresql start
。执行该命令后,错误消息消失了,但是尝试再次访问数据库时,出现了“角色'psquser'不存在”的错误。即使尝试通过默认用户'postgres'来访问psql -U postgres
并修改用户'psquser'也不起作用,它要求输入用户'postgres'的密码。
有人建议检查pg_hba.conf文件中对于psqdb设置的配置以及Postgresql的日志文件。但是,你是否应该使用大写的-U参数来指定用户'psquser'呢?
通过谷歌搜索,我修改了pg_hba.conf文件的配置为local all postgres ident
,并手动创建了用户'psquser'的角色和权限。然后,我成功地访问并恢复了数据库。非常感谢你的答案,它真的帮了我大忙,我会接受它的解决方案。