postgres因空间不足宕机了(No space left on device)

?

pg数据库数据盘空间不足导致数据库无法写入,数据库宕机,今天遇到了。

在生产环境上,我们一定要评估好数据盘和日志盘的使用空间,通常建议可以保障一年的磁盘空间可用,生产环境考虑的都是细节,做好细节以后出风险的可能性会大大降低。

pg即将上线,测试环境遇到一些小问题记录。

1、报错信息
2021-08-06 08:41:00.093 CST,,,19800,,610c851b.4d58,7,,2021-08-06 08:40:59 CST,,0,PANIC,53100,"could not write to file ""pg_logical/replorigin_checkpoint.tmp"": No space left on device",,,,,,,,,"","startup"

ain socket "/zxdata/pg6000/.s.PGSQL.6000"?

2、查看磁盘空间
[postgres@host-196-55-26-249 ~]$ df -h
Filesystem                       Size  Used Avail Use% Mounted on
/dev/mapper/rhel-root             26G  8.4G   17G  34% /
devtmpfs                         3.9G     0  3.9G   0% /dev
tmpfs                            3.9G     0  3.9G   0% /dev/shm
tmpfs                            3.9G   17M  3.9G   1% /run
tmpfs                            3.9G     0  3.9G   0% /sys/fs/cgroup
/dev/sda1                       1014M  145M  870M  15% /boot
/dev/mapper/newupbank001-backup  9.9G   33M  9.9G   1% /backup
/dev/mapper/newupbank001-zxdata   50G   50G   24K 100% /zxdata
/dev/mapper/newupbank001-zxlog    30G   26G  5.0G  84% /zxlog
tmpfs                            783M     0  783M   0% /run/user/0

3、清理日志
$ ls -lh
total 40G
-rw------- 1 postgres dba 5.2G Aug  3 00:00 postgresql-1.csv
-rw------- 1 postgres dba    0 Aug  2 00:00 postgresql-1.log
-rw------- 1 postgres dba 8.3G Aug  4 00:00 postgresql-2.csv
-rw------- 1 postgres dba    0 Aug  3 00:00 postgresql-2.log
-rw------- 1 postgres dba 8.2G Aug  5 00:00 postgresql-3.csv
-rw------- 1 postgres dba    0 Aug  4 00:00 postgresql-3.log
-rw------- 1 postgres dba 8.1G Aug  6 00:00 postgresql-4.csv
-rw------- 1 postgres dba    0 Aug  5 00:00 postgresql-4.log
-rw------- 1 postgres dba 2.6G Aug  6 09:04 postgresql-5.csv
-rw------- 1 postgres dba  168 Aug  6 09:04 postgresql-5.log
-rw------- 1 postgres dba 3.8G Aug  1 00:00 postgresql-6.csv
-rw------- 1 postgres dba    0 Jul 31 00:00 postgresql-6.log
-rw------- 1 postgres dba 3.8G Aug  1 23:59 postgresql-7.csv
-rw------- 1 postgres dba    0 Aug  1 00:00 postgresql-7.log
-rw-r--r-- 1 postgres dba  374 Aug  6 09:04 startup.log

$ rm postgresql-7.csv

4、优化参数:
postgres=# alter system set log_statement=‘none‘;   --None表示不记录,ddl记录所有数据定义命令,mod记录所有ddl语句,加上数据修改语句,all记录所有执行的语句
alter system set log_duration=‘off‘;   --记录SQL执行时间
pg_ctl reload

不需要重启数据库就可以修改参数。

?

上一篇:Graph deep learning research工具包


下一篇:git命令和基本用法整理