首页 > 数据库 >PostgreSQL 磁盘空间清理

PostgreSQL 磁盘空间清理

时间:2022-11-03 10:13:21浏览次数:41  
标签:full PostgreSQL 清理 磁盘空间 vacuum table size schema

PostgreSQL 磁盘空间清理

背景

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

解决方案

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

  1. 查找空间占用最大的10张表
    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 10
  2. 执行 vacuum full
    vacuum full [schema].[table]

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

标签:full,PostgreSQL,清理,磁盘空间,vacuum,table,size,schema
From: https://www.cnblogs.com/wl30564/p/16853497.html

相关文章