执行postgres pg_dump,报错No space left on device
Posted starrebel
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了执行postgres pg_dump,报错No space left on device相关的知识,希望对你有一定的参考价值。
发现空间还有挺多的,就想到可能是inode满了,用df -hi查看发现根目录下的inode使用率确实100%。
然后就开始查找哪个目录,在 / 下面执行:
for i in ./*; do echo $i; find $i |wc -l; done
观看结果,然后找到inode多的目录再一级级查找下去,最后发现
/var/spool/clientmqueue 目录使用了特别多的inode,查了一下这个目录的目的:
当你使用简单的sendmail发邮件的时候,或者系统默认要发一些邮件(比如cron发的邮件)的时候,首先会把邮件拷贝到这个目录里,然后等待MTA(mail transfer agent) 来处理,MTA做的事情通常是把这个目录中的邮件弄到/var/spool/mqueue里,然后再发送到真正的目的地。出现/var/spool/clientmqueue/非常大的情况通常因为没有合适的MTA发送邮件,就都积累在这里了
似乎没用,就直接rm -rf /var/spool/clientmqueue/* 删除。
然后再尝试pg_dump,成功。
以上是关于执行postgres pg_dump,报错No space left on device的主要内容,如果未能解决你的问题,请参考以下文章
Postgres pg_dump 每次都以不同的顺序转储数据库
Postgresql 9.2执行pg_dump命令问题[重复]
使用 pg_dump 将 Postgres 从 Windows 迁移到 Linux 时如何选择正确的排序规则来创建数据库?