无法启动postgresql复制

时间:2015-06-16 09:39:28

标签: postgresql database-replication

我们在不同的服务器上进行postgresql复制。所以今天我在复制集群postgresql.conf

上做了一些优化

执行复制后,我使用以下命令重启postgresql:

pg_ctlcluster 9.2 main2 restart

但是没有重新启动,它给出了这个错误:

The PostgreSQL server failed to start. Please check the log output.

检查日志,我看到了:

2015-06-16 12:18:16 EEST [10655]: [2-1] LOG:  received smart shutdown request
2015-06-16 12:18:16 EEST [10661]: [2-1] FATAL:  terminating walreceiver process due to administrator command
2015-06-16 12:18:16 EEST [10658]: [1-1] LOG:  shutting down
2015-06-16 12:18:16 EEST [10658]: [2-1] LOG:  database system is shut down

现在检查日志它显示最后一次重启日志,但是当我尝试启动服务器时,日志不会更新。它说检查日志,但没有新信息,即使我尝试再次启动服务器。

P.S。我需要在主人身上做点什么吗?

更新

重新更改postgresql.conf设置,开始复制。但是从错误来看,很难说出错了。

这里是我更改的设置(在更改之后,它们与在master上相同。当我评论它时,我才能开始复制):

shared_buffers = 1536MB
effective_cache_size = 3072MB
checkpoint_segments = 15
checkpoint_completion_target = 0.9
autovacuum = on 
track_counts = on
work_mem = 25MB

正如我所说,在评论这些之后,我可以启动它。但是不明白为什么它不会让这些设置开始。

1 个答案:

答案 0 :(得分:0)

如果我是你,如果升级是一个选项,我要做的第一件事就是升级到PostgreSQL 9.4(或更新版本)。在复制方面有一个很好的理由 - 一个名为"复制插槽的新功能" (见the announcement)。

简而言之:复制插槽比WAL存档更强大,更易于实现(显然,根据您的日志使用)。

this post中,您会找到有关实施该功能的综合指南。