【发布时间】:2013-05-01 08:31:30
【问题描述】:
我正在将大约 80GB 的数据批量复制到 postgres 中。
\copy my_table FROM '/path/csv_file.csv' csv DELIMITER ','
在提交事务之前,我收到以下错误。
服务器意外关闭连接 这可能意味着服务器异常终止 在处理请求之前或期间。
在 PostgreSQL 日志中:
LOG:server process (PID 21122) was terminated by signal 9: Killed
LOG:terminating any other active server processes
WARNING:terminating connection because of crash of another server process
DETAIL:The postmaster has commanded this server process to roll back the current transaction and exit, because another server process exited abnormally and possibly corrupted shared memory.
HINT: In a moment you should be able to reconnect to the database and repeat your command.
【问题讨论】:
-
副本是在本地主机上运行还是通过远程连接运行?我会说您亲自看到后端崩溃。检查 PostgreSQL 错误日志以获取详细信息。如果您的
work_mem或maintenance_work_mem非常高,那么您可能内存不足?或者,也许您的磁盘空间不足——尽管这通常会产生更好的错误。还有,确切的 PostgreSQL 版本是什么? -
版本为8.4.11。我在远程机器上运行它。我已经 ssh'd 进入盒子,但我使用的是“屏幕”。我确实在日志中看到了这一点“考虑增加配置参数“checkpoint_segments””
-
澄清一下,
psql与数据库在同一台机器上运行?它对您来说是否远程并不重要,只要它对psql客户端是否远程即可;如果您使用psql与localhost上的数据库通信,则不会是网络问题。 -
在日志中查找客户端断开连接的点;搜索
FATAL或PANIC级别的消息。 -
LOG:服务器进程(PID 21122)被信号 9 终止:已终止 LOG:终止任何其他活动服务器进程 警告:由于另一个服务器进程崩溃而终止连接 详细信息:邮局主管已命令此服务器回滚当前事务并退出的进程,因为使用另一个服务器进程异常退出并且可能损坏了共享内存。提示:稍后您应该能够重新连接到数据库并重复您的命令。
标签: postgresql postgresql-9.2 psql