Postgresql忽略个别表的autovacuum维护
在postgresql中用于维护数据库磁盘空间的工具是vacuum,其重要的作用是删除那些已经标示为删除的数据并释放空间。
因为在postgresql执行delete操作后,表中的记录只是被标示为删除状态,并没有释放空间,在以后的update或insert操作中该部分的空间是不能够被重用的。所以需要用vacuum清理,空间才能得到释放。
默认数据库是开启自动清理的,自动vacuum的执行直接由autovacuum参数值决定。但是有时候我们可能不需要对一张表执行autovacuum,设置很简单,如下:
test=# CREATE TABLE foo (a int); CREATE TABLE test=# alter table foo SET ( autovacuum_enabled=false) ; ALTER TABLE test=# select relname from pg_class where reloptions@>array['autovacuum_enabled=false']
可以在pg_class这张系统表中查看忽略autovacuum的表。