在EC2上运行的Postgres服务器每隔一段时间关闭一次。无法在此处隔离此问题

问题描述 投票:0回答:1

我在我的Django应用程序上配置了一个数据库连接到Postgres服务器。此服务器正在EC2实例上运行。每隔一段时间(这篇文章的3倍),当我运行我的django应用程序时,我会看到这一点

  Is the server running on host "xx.com" (13.xx.xx.xx) and accepting
        TCP/IP connections on port 5432?

当我运行这个:sudo service postgresql status我得到

postmaster dead but pid file exists

当我跑sudo service postgresql restart时,我得到了

Stopping postgresql service:                               [FAILED]
Starting postgresql service:                               [  OK  ]

我尝试删除/ var / lib / pgsql9 / data中的postmaster.pid文件但是这似乎没有解决问题。

当我重新启动服务器时似乎工作正常。但这是我使用的Windows用户类型解决方案。

- 我还是新手使用postgres。

以下是服务器关闭时日志文件(在/ var / lib / pgsql9 / data / pg_log中)的内容:

sh: line 46: kill: (5102) - No such process
sh: line 46: kill: (5103) - No such process
sh: line 46: kill: (5105) - No such process
sh: line 46: kill: (5106) - No such process
sh: line 46: kill: (5126) - No such process
sh: line 46: kill: (5127) - No such process
sh: line 46: kill: (5130) - No such process
sh: line 46: kill: (5150) - No such process
sh: line 46: kill: (5151) - No such process
sh: line 46: kill: (5154) - No such process
postgresql amazon-ec2 postgresql-9.2
1个回答
0
投票

您的应用程序显然无法访问服务器。该错误表明应用程序/客户端正在尝试在xx.com上找到服务器,在该服务器上找不到在端口5432上运行的postmaster服务并接受连接。

根据您提供的其他信息,看起来有些东西会在后端杀死postmaster,当发生这种情况时,postmaster.pid文件不会被删除。只要有postmaster.pid文件,服务状态就会显示此消息postmaster dead but pid file exists

尝试查看数据库日志(/ pg_log)以获取有关崩溃部分的更多信息。

© www.soinside.com 2019 - 2024. All rights reserved.