启动 Postgres 时出错

use*_*030 6 postgresql ubuntu-14.04

我在一个实时站点(以及它相应的开发站点)上遇到一个奇怪的错误,其中 Postgres 数据库不想启动。这个问题突然出现,不知道是什么原因造成的。

尝试在终端中启动会出现可怕的“不接受 5432 连接”

sudo -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"?
Run Code Online (Sandbox Code Playgroud)

如果我尝试重新启动 postgres:

service postgresql restart
 * Restarting PostgreSQL 9.1 database server                                                                                                                                                                    * The PostgreSQL server failed to start. Please check the log output:
2015-07-15 13:49:24 EEST LOG:  database system was interrupted; last known up at 2015-07-12 20:02:18 EEST
2015-07-15 13:49:24 EEST FATAL:  could not open file "/etc/ssl/certs/ssl-cert-snakeoil.pem": Permission denied
2015-07-15 13:49:24 EEST LOG:  startup process (PID 11172) exited with exit code 1
2015-07-15 13:49:24 EEST LOG:  aborting startup due to startup process failure
Run Code Online (Sandbox Code Playgroud)

关于下一步要尝试什么或者可能导致这种情况的任何想法?

小智 5

make-ssl-cert 生成默认-snakeoil --force-overwrite

\n

当我重写证书时,我开始可以访问 postgresql。\n毕竟 - 原因很简单(当你重新加载服务器 Ubuntu 18.04 时。在我的例子中)你会丢失一些默认设置。小心。\n非常感谢@AndrewSavinykh 的帮助。\xd0\x94\xd1\x8f\xd0\xba\xd1\x83\xd1\x8e\xd1\x82\xd0\xb5\xd1\x81\xd0\xba\xd0\xb0)))。

\n


use*_*030 1

事实证明,这与更新中的 fsync 权限错误有关,当我们的 VPS 提供商因另一个问题而需要重新启动时,就会触发该错误。

文章中列出的步骤解决了该问题:

(as root)
# go to PGDATA directory
cd /var/lib/postgresql/9.1/main

# Backup server.crt server.key just to be sure!
cp server.crt server.crt.bk
cp server.key server.key.bk

ls -l server.crt server.key

# confirm both of those files are symbolic links
# to files in /etc/ssl before going further

# remove symlinks to SSL certs
rm server.crt
rm server.key 

# copy the SSL certs to the local directory
cp /etc/ssl/certs/ssl-cert-snakeoil.pem server.crt
cp /etc/ssl/private/ssl-cert-snakeoil.key server.key

# set permissions on ssl certs
# and postgres ownership on everything else
# just in case
chown postgres *
chmod 640 server.crt server.key

service postgresql start
Run Code Online (Sandbox Code Playgroud)

  • @AndrewSavinykh,您仍然遇到问题,您可以使用以下命令“make-ssl-certgenerate-default-snakeoil --force-overwrite”重新生成证书,也有同样的问题,这解决了它。 (2认同)