gpt4 book ai didi

postgresql - PG::ConnectionBad Postgres 集群宕机

转载 作者:行者123 更新时间:2023-11-29 11:49:12 24 4
gpt4 key购买 nike

Digitalocean 禁用了我的 droplet 的互联网访问。修复错误(回滚到旧备份)后,他们恢复了互联网访问。但之后我在部署时不断遇到错误,我似乎无法启动和运行我的 Postgres 数据库。

每次我尝试部署我的应用程序时都会遇到错误。

PG::ConnectionBad: 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"?

所以我使用 SSH 登录到我的服务器并检查我的 Postgres 是否真的在运行:

pg_lsclusters

结果为:

Ver 集群端口状态所有者数据目录日志文件
9.5 main 5432 down postgres/var/lib/postgresql/9.5/main/var/log/postgresql/postgresql-9.5-main.log

Postgres 服务器状态

所以我的 Postgres 服务器似乎宕机了。我尝试再次将其“向上”放置:

pg_ctlcluster 9.5 main start 这样做之后我得到了错误:Insecure directory in $ENV{PATH} while running with -T switch at/usr/bin/pg_ctlcluster line 403.

/usr/bin/pg_ctlcluster 在第 403 行说:

系统 'systemctl', 'is-active', '-q', "postgresql\@$version-$cluster";但我不确定这里可能存在什么问题以及如何解决这个问题。

更新

我还尝试将 /bin 上的权限更新为 755,如前所述 here .遗憾的是,这并没有解决我的问题。

更新2

我将/usr/bin 更改为 755。现在当我尝试 pg_ctlcluster 9.5 main start 时,我得到了这个:

Job for postgresql@9.5-main.service failed because the control process exited with error code. See "systemctl status postgresql@9.5-main.service" and "journalctl -xe" for details.

systemctl status postgresql@9.5-main.service 中:

postgresql@9.5-main.service - PostgreSQL Cluster 9.5-main
Loaded: loaded (/lib/systemd/system/postgresql@.service; disabled; vendor preset: enabled)
Active: failed (Result: exit-code) since Sun 2018-01-28 17:32:38 EST; 45s ago
Process: 22473 ExecStart=postgresql@%i --skip-systemctl-redirect %i start (code=exited, status=1/FAILURE)

Jan 28 17:32:08 *url* systemd[1]: Starting PostgreSQL Cluster 9.5-main...
Jan 28 17:32:38 *url* postgresql@9.5-main[22473]: The PostgreSQL server failed to start.
Jan 28 17:32:38 *url* systemd[1]: postgresql@9.5-main.service: Control process exited, code=exited status=1
Jan 28 17:32:38 *url* systemd[1]: Failed to start PostgreSQL Cluster 9.5-main.
Jan 28 17:32:38 *url* systemd[1]: postgresql@9.5-main.service: Unit entered failed state.
Jan 28 17:32:38 *url* systemd[1]: postgresql@9.5-main.service: Failed with result 'exit-code'.

谢谢!

最佳答案

你最好不要混合使用 systemctlpg_ctlcluster。让 systemctl 使用正确的用户和权限调用 pg_ctlcluster。你应该用

启动你的 postgresql 实例
sudo systemctl start postgresql@9.5-main.service

此外,检查启动日志中的错误。您也可以发布它们,以帮助您弄清楚发生了什么。

您的 systemctl status 还输出该服务已禁用,因此,当服务器重新启动时,您必须手动启动该服务。要启用它运行:

sudo systemctl enable postgresql@9.5-main.service

希望对你有帮助

关于postgresql - PG::ConnectionBad Postgres 集群宕机,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48479210/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com