pgsql 清理碎片

查看所有表格的大小

 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 20

更换命令清理碎片

test表名

VACUUM  FULL "test"
VACUUM [ FULL ] [ FREEZE ] [ VERBOSE ] [ table ]
VACUUM [ FULL ] [ FREEZE ] [ VERBOSE ] ANALYZE [ table [ (column [, ...] ) ] ]

参数
FULL
选择"完全"清理,这样可以恢复更多的空间,但是花的时间更多并且在表上施加了排它锁。
FREEZE
选择激进的行"冻结"。指定 FREEZE 相当于执行 VACUUM 时将 vacuum_freeze_min_age 参数设为零。FREEZE 选项将在未来的版本中被取消,并且反对使用,你应当使用设置正确的参数值的方法来达到目的。
VERBOSE
为每个表打印一份详细的清理工作报告
ANALYZE
更新用于优化器的统计信息,以决定执行查询的最有效方法。
table
要清理的表的名称(可以有模式修饰)。缺省时是当前数据库中的所有表。
column
要分析的具体的字段名称。缺省是所有字段。

碰到的问题

查看一个表的大小,显示关系无效

select pg_size_pretty(pg_relation_size('test'));

下面这个命令使用后表的大小还是没有变化

VACUUM   "test"
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值