查看原文:http://www.hellonet8.com/1373.html
在postgresql中用于维护数据库磁盘空间的工具是vacuum,其重要的作用是删除那些已经标示为删除的数据并释放空间。
因为在postgresql执行delete操作后,表中的记录只是被标示为删除状态,并没有释放空间,在以后的update或insert操作中该部分的空间是不能够被重用的。所以需要用vacuum清理,空间才能得到释放。
默认数据库是开启自动清理的,自动vacuum的执行直接由autovacuum参数值决定。但是有时候我们可能不需要对一张表执行autovacuum,设置很简单,如下:
[code language="sql"]
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']
[/code]
可以在pg_class这张系统表中查看忽略autovacuum的表。