今天我在 Debian 8 上重新配置了 PostgreSQL 9.4 安装上的一些东西。完成后我输入
# pg_ctcluster 9.4 main restart
像往常一样,但这次它不会重新启动。错误消息将我引导到集群的日志,该日志是空的。
# pg_ctcluster 9.4 main start
也没有用。所以为了追踪错误,我手动启动了集群
$ /usr/lib/postgresql/9.4/bin/postgres -d 3 -D /var/lib/postgresql/9.4/main -c config_file=/etc/postgresql/9.4/main/postgresql.conf
作为用户 postgres。那工作得很好。所以集群正常工作,那么启动脚本本身一定是罪魁祸首。因此,为了获得更详细的错误消息,我尝试像这样启动它
# pg_ctcluster --foreground 9.4 main start
令我惊讶的是,它工作得很好,没有打嗝。
我现在能做些什么呢?还有什么要检查的可能会导致启动脚本出错?我不想修改 pg_ctlcluster 脚本 tbh。
问题解决了。
我不知道,我们团队的一名成员删除了数据库的主日志文件,因为它已经增长了很多。显然它被完全删除而不是被截断。然后创建了一个新的日志文件,但出于某种原因,以 root 作为所有者。像这样简单地将所有者更改回 postgres
解决了这个问题。