我有Centos7机器设置,我遇到postgres重启后无法启动的问题.即使我尝试手动运行该服务,我也会得到
UTC FATAL: could not create lock file "/var/run/postgresql/.s.PGSQL.5432.lock": No such file or directory
仔细看看,我注意到/ var / run / postgresql在重启后不存在事件.
所以真的有几个问题,因为我在研究中没有找到明确的答案.
如何在/ var / run中创建目录,是否在启动服务时创建了什么或者是什么方式?
什么可能导致这个特定问题发生,而不是重启后启动postgres?
我以前从未见过这种行为,虽然平心而论,到目前为止我一直在使用ubuntu.
谢谢
如果检查系统上的/ var / run,你会发现它实际上是/ run的符号链接:
# ls -ld /var/run lrwxrwxrwx. 1 root root 6 Jan 19 09:12 /var/run -> ../run
如果你检查/运行,你会发现它实际上是一个tmpfs挂载点:
# mount | grep /run tmpfs on /run type tmpfs (rw,nosuid,nodev,seclabel,mode=755)
tmpfs文件系统是一个内存中的文件系统:当系统重新启动时,任何东西都会消失.正如Federico在评论中所说,CentOS 7(以及Fedora和RHEL 7等)使用systemd-tmpfiles工具在系统启动时自动创建锁目录和其他临时存储位置等内容.
CentOS 7中包含的postgresql-server软件包已经做了正确的事情:
# rpm -ql postgresql-server | grep tmpfiles /usr/lib/tmpfiles.d/postgresql.conf # cat /usr/lib/tmpfiles.d/postgresql.conf d /var/run/postgresql 0755 postgres postgres -
如果您使用的是第三方postgresql软件包,请不要惊讶它没有与CentOS正确集成.您可以通过设置此处显示的相同tmpfiles.d条目来手动更正.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。