重新启动postgre报错时,解决方案 ( 由备份文件占用空间太大造成 ) (linux 命令 df -h 查看磁盘空间)

在这里使用了一个liunx下的命令查看磁盘空间

df: disk free  http://www.cnblogs.com/chenwenbiao/archive/2011/08/07/2129831.html

常用参数:df -h

-------------------------------------

1.在Linux下重新启动postgre

pg_ctl restart (postgres 用户)

今天遇到的问题

由于导入数据,造成数据库不断生成备份文件,占满了空间

无法继续启动。

解决方法:

备份文件所在目录结构

root

   databases

       archieves

       data

       pg_xlog

           archive_status

(archieves 档案;文件;记录)

删除这些目录下面的数据备份文件

-------------------------------------------------------------------------------

错误现象

执行pg_ctl restart命令

报错

could not change directory to "/root"

pg_ctl:PID file "/database/data/postmaster.pid" does not exist

出现这种问题的原因

不是因为目录下没有这个文件,而是因为磁盘空间太小

进程执行时,没有足够的空间来读取这个文件。

使用postgres用户执行以下命令

df -h可以查看数据库的空间的使用状况

FIlesystem     size   used   avail    Use%   Mounted on                     

/dev/sda3        70     70         0       100         /                                    

进程没有足够的空间来运行,所以出现了上面的错误

----------------------------------------------------

问题产生

使用存储过程对postgre插入数据

每次插入10万条数据,由此在上面的那些目录产生了n多的备份文件

这些备份文件占用了大量的磁盘空间

当最后一次执行这个批处理命令时

控制台报错,说磁盘空间不足,紧接着这边就再也连接不上数据库了

查看进程,发现postgre的进程已经停掉

重新启动时,就报了上面的那个错误

could not change directory to "/root"

pg_ctl:PID file "/database/data/postmaster.pid" does not exist

----------------------------------------

注意:

是什么吃掉了磁盘空间

是备份文件吃掉的巨大的磁盘空间

其实,那几百万条数据并没有占用多少磁盘空间

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值