在这里使用了一个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

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

注意:

是什么吃掉了磁盘空间

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

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

GitHub 加速计划 / li / linux-dash
10.39 K
1.2 K
下载
A beautiful web dashboard for Linux
最近提交(Master分支:2 个月前 )
186a802e added ecosystem file for PM2 4 年前
5def40a3 Add host customization support for the NodeJS version 4 年前
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐