2011-05-06 16 views
0

我遇到了我的地方Postgres的Unix套接字文件被删除的情况。理想情况下,当我们的应用程序运行时,Postgres deamon根本不应该停下来。然而,postmaster会关闭,并且/ tmp /中创建的unix套接字文件也会被删除。这对我们的产品有着严重的影响。Postgres的套接字文件中获取删除

我想知道什么时候可以,如果不这样做明确的套接字文件被删除。这是否意味着Postgres连接已经坏了,它重新开始了吗?这种情况何时会导致连接失败?

回答

1

如果你指的是套接字文件是否被删除,因为PostgreSQL的下降(这是正常的),或者因为套接字文件被删除的PostgreSQL是否下降目前还不清楚。检查postgres日志。

这可能是有来清理旧文件在/ tmp /的过程。例如CentOS/RHEL通过tmpwatch的方式来执行此操作,特别是/etc/cron.daily/tmpwatch脚本。虽然tmpwatch不应该删除的pgsql文件,谁知道是否有潜伏的错误..

+0

日志文件中有这样的:显然,这不是一个正常关机。 omeone试图让它失望:我不知道如何,谁或为什么。 LOG:数据库系统在2011-05-06九时34分19秒IST LOG被中断:检查点记录为0/96265C0 LOG:重做记录为0/96265C0;撤消记录在0/0;关机FALSE 日志:下一个交易ID:82018;下一步OID:787538 LOG:数据库系统未正确关闭;正在进行自动恢复 – sumeet 2011-05-06 08:24:59

+0

另外我也意识到Postgres数据库对/ tmp目录的权限和存在极其敏感。我会确保没有脚本删除tmp中的数据。 – sumeet 2011-05-06 08:27:42

+1

您显示的日志条目是在恢复时出现的。在日志中查看哪些数据库已被杀死。它可能是像OOM杀手那样的东西,在这种情况下,看看work_mem设置太高。 – 2011-05-06 17:07:54