systemd deletes shared memory segment in postgresql

前端之家收集整理的这篇文章主要介绍了systemd deletes shared memory segment in postgresql前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

最近在server上部署Postgresql9.5(源码安装), 总是报because another server process exited abnormally and possibly corrupted shared memory, google 发现竟然是systemd问题。

在RHEL7.2中,systemd-logind 服务引入了一个新特性,该新特性是:当一个user完全退出os之后,remove掉这个user所有的IPC objects。
该特性由/etc/systemd/logind.conf参数文件中RemoveIPC选项来控制。详细请看man logind.conf(5)
在RHEL7.2中,RemoveIPC的默认值为yes

cat /etc/systemd/logind.conf

> [Login]

#NAutoVTs=6

#ReserveVT=6

#KillUserProcesses=no

#KillOnlyUsers=

#KillExcludeUsers=root

#InhibitDelayMaxSec=5

#HandlePowerKey=poweroff

#HandleSuspendKey=suspend

#HandleHibernateKey=hibernate

#HandleLidSwitch=suspend

#HandleLidSwitchDocked=ignore

#PowerKeyIgnoreInhibited=no

#SuspendKeyIgnoreInhibited=no

#HibernateKeyIgnoreInhibited=no

#LidSwitchIgnoreInhibited=yes

#IdleAction=ignore

#IdleActionSec=30min

#RuntimeDirectorySize=10%   

#RemoveIPC=yes

so 可以通过

  1. set RemoveIPC=no in /etc/systemd/logind.conf

  2. systemctl daemon-reload

  3. systemctl restart systemd-logind

References

猜你在找的Postgre SQL相关文章