【问题标题】:FATAL: could not create shared memory segment: Invalid argument致命:无法创建共享内存段:参数无效
【发布时间】:2017-07-03 07:51:45
【问题描述】:

我服务器上的 Postgresql 文件似乎没有启动。当我查看 /var/lib/pgsql/pgstartup.log 文件时,它给出了以下错误FATAL: could not create shared memory segment: Invalid argument

我阅读了很多其他建议更改 SHMMAX 值的帖子。我通过 /etc/sysctl.conf 文件执行此操作,然后运行 ​​sysctl -p。它第一次工作,PGSQL 服务开始运行。但是,当我尝试 SQL 导入(55GB)时,它再次停止,这一次更改 SHMMAX 值没有帮助。实际上,问题是从导入 55GB 的 SQL 文件开始的。它一直工作到前 30%,然后停止。我不知道为什么它总是崩溃。

基本上,我寻求帮助的有两件事:

  1. 如何让 PGSQL 服务运行?
  2. 如何顺利导入 55GB 的 SQL 文件?

我已经查看了很多资源,仍然无法找到解决方案。任何帮助将不胜感激。

谢谢!

编辑:我找到了解决方案。问题在于磁盘空间。在我清空 psql 数据日志文件(按天)后,该服务开始工作。谢谢大家的帮助。

【问题讨论】:

  • Stack Overflow 是一个编程和开发问题的网站。这个问题似乎离题了,因为它与编程或开发无关。请参阅帮助中心的What topics can I ask about here。也许Unix & Linux Stack ExchangeDatabase Administrators Stack Exchange 会是一个更好的提问地点。
  • 如果您将数据加载到 PostgreSQL 中,它不会使用更多的共享内存,因此导致问题的可能不是SHMMAX。识别 PostgreSQL 日志文件并查看您在其中找到的内容。另外,检查机器上的任何文件系统是否已满。
  • @LaurenzAlbe - 嘿,感谢您的回复。 psql 日志文件这样说 - 致命:锁定文件“postmaster.pid”已经存在 提示:另一个 postmaster(PID 15047)是否在数据目录“/var/lib/pgsql/data”中运行?致命:锁定文件“postmaster.pid”已经存在提示:另一个 postmaster(PID 15047)是否在数据目录“/var/lib/pgsql/data”中运行?虽然,当我尝试终止进程时,它说没有这样的进程。
  • @jww - 谢谢。从现在开始我会记住这一点(这个问题已经解决了)。

标签: sql linux postgresql shared-memory fedora


【解决方案1】:

现在已经解决了。编辑后的帖子也包含解决方案。

谢谢!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-12-11
    • 1970-01-01
    • 2021-07-19
    • 2012-04-03
    • 1970-01-01
    • 1970-01-01
    • 2021-05-13
    相关资源
    最近更新 更多