ec2实例重启后无法启动postgresql

ec2实例重启后无法启动postgresql,postgresql,amazon-ec2,Postgresql,Amazon Ec2,我是postgresql的新手。我的一个朋友正在Amazon EC2实例上托管一个带有postgresql db的php脚本。他停止了这个实例,并在两个月后开始了它。默认情况下,EC2实例没有运行Postgresql,因此我尝试: sudo /etc/init.d/postgresql start 得到 Starting postgresql service: [FAILED] 猜猜怎么启动和运行它?该实例正在默认的Amazon L

我是postgresql的新手。我的一个朋友正在Amazon EC2实例上托管一个带有postgresql db的php脚本。他停止了这个实例,并在两个月后开始了它。默认情况下,EC2实例没有运行Postgresql,因此我尝试:

sudo /etc/init.d/postgresql start
得到

Starting postgresql service:                               [FAILED]

猜猜怎么启动和运行它?该实例正在默认的Amazon Linux实例上运行。

可以通过减少共享缓冲区或增加内核的shmem max设置来修复日志中提到的错误。此外,正如您所注意到的,PostgreSQL需要安全的文件权限才能启动。我的建议是从较小的共享缓冲区开始,然后确定您需要什么。

您可以检查/var/log/syslog或postgres日志文件以了解情况吗?你能在前台模式下启动postgres吗?嗨,谢谢你的回复。/var/log或任何子文件夹中都没有与postgres相关的日志文件。唯一的一个是pgpool,当要求启动postgresql时,它不会写入任何内容。日志与postgresql datadir位于同一位置。如果您找不到它,并且/etc中没有提到PostgreSQL,那么可以将PostgreSQL.conf命名为root,或者阅读init脚本,查看它在启动时指向的位置。如果你提到你的发行版,PostgreSQL版本,以及你是如何安装PostgreSQL的,那会有很大帮助。我得到了:详细信息:失败的系统调用是shmget(key=5433001,size=1880072192,03600)。提示:此错误通常意味着PostgreSQL对共享内存段的请求超出了可用内存或交换空间。减少请求大小(目前18$PostgreSQL文档包含有关共享内存配置的更多信息。好的,我知道了,有两个问题。权限设置为755,所有者为postgres,权限应为700。其次,它消耗了大量内存,因此我应该在max con中添加更多内存或配置更少的内存postgresql.conf中的连接和总内存