postgres vacuum full 和 vacuum

vacuum full mail_message 是我使用vacuum full清理的第一个表 空间从20G-->4G 效果很显著

odoo 大量update或者delete后 磁盘空间会猛增。原理是postgresql并没有真正的删除 只是将删除数据的状态置为已删除,该空间不能记录被从新使用。若是删除的记录位于表的末端,其所占用的空间将会被物理释放并归还操做系统。若是不是末端数据,该命令会将指定表或索引中被删除数据所占用空间从新置为可用状态,那么在从此有新数据插入时,将优先使用该空间,直到全部被重用的空间用完时,再考虑使用新增的磁盘页面。

vacuum 不会锁表 会释放文件空间 不会释放磁盘空间 效率高 建议常用

vacuum full 会锁表 会释放磁盘空间 效率低 建议大量delete和update后使用。

1 查看用例下所有数据库从磁盘空间

select datname, pg_size_pretty (pg_database_size(datname)) AS size from pg_database;

2 查看指定数据库 每个表的磁盘空间 倒叙排列

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 || '"."'

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值