尽管立即停止,但无法阻止postgres

时间:2015-10-19 09:16:14

标签: postgresql

我有这个让我疯狂的问题。尽管我付出了很多努力,但我无法强迫我的postgres服务器关闭。我已按照这些说明操作:http://www.question-defense.com/2008/10/17/pg_ctl-server-does-not-shut-down-force-postgres-to-shutdown

但是,没有任何反应,我在shell中的所有内容都是

waiting for server to shut      down............................................................... failed
pg_ctl: server does not shut down

任何帮助都非常感激。

更新:检查日志,我有这个反复出现的错误:

LOG:  checkpoints are occurring too frequently (25 seconds apart)
HINT:  Consider increasing the configuration parameter "checkpoint_segments".

2 个答案:

答案 0 :(得分:0)

在给出了很多想法之后,特别是我在第一时间安装它的方式,我意识到我设置了安装,所以守护进程会在我的机器启动时启动postgres。因此,任何手动查杀都只会导致同一守护进程重新创建这些进程。

要解决此问题,您需要使用launchctl停止守护程序,并删除postgres目录中的.plist文件。

如果你遇到同样的问题,祝你好运。

答案 1 :(得分:0)

您可能使用默认设置“checkpoint_segments = 3”运行,这会产生警告。你的数据库做了很多写,对吧?将所有这些写入磁盘需要一些时间,并且您的数据库正忙着轮换日志文件,而不是真正的工作。

如果增加checkpint_segments,您将看到性能改进,并减少I / O.

如需进一步阅读:https://wiki.postgresql.org/wiki/Tuning_Your_PostgreSQL_Server