3.1登录服务器,到pg的base文件夹下执行:du -sh * | sort,查看base文件夹下所有文件的大小,文件名的数字对应的是数据库的OID

EDB 服务器空间满,问题追查:

3.2打开navicat(或其它工具),在命令行窗口输入:select oid,datname from pg_database order by oid; 得到oid和数据库名的对应关系:

EDB 服务器空间满,问题追查:

根据3.1的oid,在步骤3.2里找到对应的表;

3.3. 在服务器,进入到选定oid命名的文件夹,执行ll -hSr 按照大小排序显示

EDB 服务器空间满,问题追查:

3.4在客户端进入对应的数据库,执行select relname,relfilenode from pg_class ORDER BY relfilenode;

EDB 服务器空间满,问题追查:

 

至此,就可以找出来具体是哪个库的哪个表,数据量大(包含已删除为清理的),占用空间多了,此时执行清理步骤:

1. 确定该表的数据,及时清理不需要的内容

2. 执行 VACUUM; (此指令用于清理数据已逻辑删除,单还在磁盘存储的内容)

3. 如果还是需要更多的空间,可以额外执行:REINDEX TABLE tableName;

 

更多可以参考:https://www.iteye.com/blog/radzhang-2433027

相关文章:

  • 2021-12-06
  • 2021-10-07
  • 2022-01-05
  • 2022-01-22
  • 2021-04-25
  • 2022-12-23
  • 2021-08-21
  • 2022-01-28
猜你喜欢
  • 2022-01-06
  • 2022-01-05
  • 2022-01-05
  • 2021-07-09
  • 2022-02-06
  • 2022-02-06
相关资源
相似解决方案