2017-07-03 72 views
-1

我的服务器上的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数据日志文件(白天)后,服务开始工作。谢谢大家的帮助。

+0

Stack Overflow是编程和开发问题的网站。这个问题似乎与题目无关,因为它不涉及编程或开发。请参阅帮助中心的[我可以询问哪些主题](http://stackoverflow.com/help/on-topic)。也许[Unix和Linux堆栈交换](http://unix.stackexchange.com/)或[数据库管理员堆栈交换](http://dba.stackexchange.com/)将是一个更好的地方要问。 – jww

+0

如果将数据加载到PostgreSQL中,PostgreSQL不会使用更多的共享内存,因此它可能不是导致此问题的“SHMMAX”。确定PostgreSQL日志文件并查看您在那里找到的内容。另外,检查机器上的文件系统是否已满。 –

+0

@LaurenzAlbe - 嘿,谢谢你的回应。 psql日志文件说这个 - FATAL:锁定文件“postmaster.pid”已经存在 提示:另一个postmaster(PID 15047)在数据目录“/ var/lib/pgsql/data”中运行吗? 致命:锁定文件“postmaster.pid”已存在 提示:另一个postmaster(PID 15047)是否在数据目录“/ var/lib/pgsql/data”中运行? 虽然,当我尝试杀死进程时,它说没有这样的进程。 –

回答

0

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

谢谢!

相关问题