Postgres 9.5-main.pg_stat_tmp:没有这样的文件或目录

几个月前我遇到了这个问题,根据情况不同(因为忘记了细节)的情况下,这里我们再次。 如果你谷歌这个问题有很多类似的post,但没有一个似乎达到了一个令人满意的结论。 除非它只是基于权限,我正在努力看到这一点。

我正在停止并从Debian init.d脚本启动postgres服务,如果需要恢复数据库,将运行该脚本。

它停止没有问题:

systemctl stop postgresql 

还原操作运行平稳(远程托pipepgbackrest,stanza备份):

 sudo -u postgres bash -c "pgbackrest --log-level-console=info --stanza=$stanza --delta restore" 

然后,启动操作只是挂起,没有debugging或logging生成:

 systemctl start postgresql 

如果我用一个直接调用postgres来replacesystemctl的调用:

 sudo -u postgres bash -c "/usr/lib/postgresql/9.5/bin/postgres -D /var/lib/postgresql/9.5/main -c config_file=/etc/postgresql/9.5/main/postgresql.conf 

我得到以下错误(请忽略时间戳,这只是我正在使用的testing框):

 2016-11-03 17:30:27 UTC [2511-3] FATAL: could not open directory "/var/run/postgresql/9.5-main.pg_stat_tmp": No such file or directory 

接下来需要指出的是,Postgres 9.5和9.6在系统上并存,而9.6实例通过systemctl调用(启动所有configuration的集群)停止并启动,所以如果是权限的话,为什么要9.5失败? 如果真的需要做的就是创build这个文件,那么我认为没有错误的原因,或者错误也许是红鲱鱼?

 TEST-RIG-postgres@CIE-4096:/root$ ls -l /var/run/postgresql/ total 4 drwxr-s--- 2 postgres postgres 100 Nov 3 17:36 9.6-main.pg_stat_tmp -rw-r--r-- 1 postgres postgres 5 Nov 3 17:20 9.6-main.pid ls -l /var/run/ ... drwxrwsr-x 3 postgres postgres 120 Nov 3 17:30 postgresql 

我只是有点失落。 这可能是因为它在系统初始化期间调用(Postgres通常开始罚款)? 我已经将以下内容添加到LSB部分,没有任何区别:

 # Required-Start: postgresql