跳到主要内容
技术速查
全部 PostgreSQL 速查
PostgreSQL 16命令

VACUUM

回收死元组占用的可复用空间并维护可见性等信息;普通 VACUUM 通常不把空间归还操作系统。

怎么用

先查看死元组估算和自动清理时间,判断是否需要维护,而不是立即运行 VACUUM FULL。

先查看当前状态

SELECT schemaname, relname, n_dead_tup, last_autovacuum
FROM pg_stat_user_tables
ORDER BY n_dead_tup DESC
LIMIT 20;

使用前留意

VACUUM FULL 会重写表并需要强锁和额外磁盘空间。下方示例仅查询统计,不执行清理。

查看官方定义postgresql.org · PostgreSQL 16
VACUUM | PostgreSQL 16 | ORA100