最近在升级服务器的过程中遇到一台服务器无法启动postgresql服务,查日志得知无法在/var/run/postgresql下建立文件,而这个/var/run/postgresql路径手动建立并将其owner改为postgres后再启动postgresql服务则成功. 可是重启服务器后,/var/run/postgresql目录自动消失.
很明显/var/run/postgresql目录为临时目录,经测试,它也不是postgresql服务自身建立的,必须要先有/var/run/postgresql后它才引用. 后来有经大神同事查到根本原因,正常的postgresql安装后,在/usr/lib/tmpfiles.d下有postgresql-9.4.conf这个文件,里面有一行"d /var/run/postgresql 0755 postgres postgres -",而出问题的这台服务器就缺少这个文件.
tmpfiles.d下面的配置文件在系统启动时会根据配置自动生成指定的临时目录并将赋于指定的所有者,后才运行各种服务 ...
[root@xxxxx tmpfiles.d]# pwd /usr/lib/tmpfiles.d
[root@xxxxx tmpfiles.d]# ll total 124 -rw-r--r--. 1 root root 91 Dec 1 2015 abrt.conf -rw-r--r--. 1 root root 125 Nov 20 2015 cups.conf -rw-r--r--. 1 root root 264 Nov 20 2015 cups-lp.conf -rw-r--r--. 1 root root 464 Nov 20 2015 etc.conf -rw-r--r--. 1 root root 595 Nov 20 2015 gvfsd-fuse-tmpfiles.conf -rw-r--r-- 1 root root 77 Nov 20 2015 httpd.conf -rw-r--r--. 1 root root 39 Nov 20 2015 initscripts.conf -rw-r--r--. 1 root root 75 Jul 25 2015 iscsi.conf -rw-r--r--. 1 root root 1181 Nov 20 2015 legacy.conf -rw-r--r--. 1 root root 34 Jun 10 2014 libselinux.conf -rw-r--r--. 1 root root 88 Nov 20 2015 libstoragemgmt.conf -r--r--r--. 1 root root 61 Nov 21 2015 lvm2.conf -rw-r--r--. 1 root root 34 Nov 21 2015 mdadm.conf -rw-r--r--. 1 root root 110 Aug 18 2015 pam.conf -rw-r--r-- 1 root root 45 Dec 14 12:44 postgresql-9.4.conf -rw-r--r--. 1 root root 61 Jan 27 2014 ppp.conf -rw-r--r--. 1 root root 34 Sep 9 2015 radvd.conf -rw-r--r--. 1 root root 87 Nov 20 2015 rpcbind.conf -rw-r--r--. 1 root root 22 Nov 20 2015 rpm.conf -rw-r--r--. 1 root root 60 Nov 21 2015 samba.conf -rw-r--r--. 1 root root 228 Nov 20 2015 sap.conf -rw-r--r--. 1 root root 137 Nov 20 2015 selinux-policy.conf -rw-r--r--. 1 root root 58 Nov 20 2015 setroubleshoot.conf -rw-r--r--. 1 root root 101 Nov 20 2015 spice-vdagentd.conf -rw-r--r-- 1 root root 33 Aug 13 2015 svnserve.conf -rw-r--r--. 1 root root 1393 Nov 20 2015 systemd.conf -rw-r--r--. 1 root root 496 Nov 20 2015 systemd-nologin.conf -rw-r--r--. 1 root root 638 Nov 20 2015 tmp.conf -rw-r--r--. 1 root root 56 May 4 2015 tuned.conf -rw-r--r--. 1 root root 563 Nov 20 2015 var.conf -rw-r--r--. 1 root root 623 Nov 20 2015 x11.conf
[root@xxxx tmpfiles.d]# cat postgresql-9.4.conf d /var/run/postgresql 0755 postgres postgres [root@xxxx tmpfiles.d]#
理应这个文件要postgresql的安装程序自动生成的,因为其他服务器都有这个文件,为什么这台服务器就没有?百思不得其解.. (编辑:李大同)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|