当前位置:   article > 正文

PostgreSQL 磁盘空间清理_pgsql 查询表空间清理语句

pgsql 查询表空间清理语句

背景

PostgreSQL 删除、更新、覆写的历史数据不会从磁盘中清除,久而久之,磁盘的数据越来越多造成空间不足。

解决方案

定期找到空间占用大的表,然后执行 vacuum full 指令。

1. 查找空间占用最大的100张表
 SELECT table_schema || '.' || table_name AS table_full_name, pg_size_pretty(pg_total_relation_size('"' 
    || table_schema || '"."' || table_name || '"')) AS size
FROM information_schema.tables 
ORDER BY
pg_total_relation_size('"' || table_schema || '"."' || table_name || '"') DESC limit 100
  • 1
  • 2
  • 3
  • 4
  • 5
2. 执行 vacuum full

vacuum full [schema].[table]

vacuum full schema1.test_table_1
  • 1

注意:这里仅拿一张表为例,实际需要对第一步查询出来的所有表执行 vacuum full

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Gausst松鼠会/article/detail/256235
推荐阅读
相关标签
  

闽ICP备14008679号