我有一个数据库,在一个表中,我每天有超过 800 万次插入(记录随时间分布,大约每秒 90-100 次)。
每天我都会删除超过 7 天的所有记录,但表的磁盘空间并没有停止增长。
Autovacuum 使用默认配置“开启”。删除查询在当晚 2 点 55 分执行。表的最后一次自动清空大约在 3 小时后 6:32 并且没有第二次运行。
为什么每天的磁盘空间多出 1GB 左右?
我现在 autovacuum 不会立即释放磁盘空间,但我可以将删除的行用于新插入。
现在,似乎我正在删除记录,但我没有将可用空间用于新记录,并且表格不断增长。
每天删除旧记录后,表中还剩下大约 5000 万行,与存储的大小几乎相同。
Postgres 是否有可能希望它认为可以毫无问题地操作的表达到一定的大小?我没有尝试这个,因为没有那么多可用空间,当空间已满时,我TRUNCATE
就在桌子上。