On Fri, Mar 31, 2006 at 04:36:10PM -0500, Matthew T. O'Connor wrote: > Alvaro Herrera wrote: > >Jim C. Nasby wrote: > >>On Wed, Mar 29, 2006 at 03:36:36PM +0530, Gourish Singbal wrote: > >>>we are using postgresql 8.1.3 and wanted to enable autovacuuming for only > >>>one of the many databases on the same postgresql cluster. > >>>pg_autovacuum seems to allow to ignore only a particular table and not > >>>the > >>>database since column vacrelid is OID from pg_class table Are there any > >>>suggestions to accomplish this tasks?. > >>Currently there is no way to exclude entire databases from autovacuum. > > > >IIRC in one of the original patches I had added a way to do it. It was > >rejected however; it was argued that there was another mechanism to > >disable it. I don't remember what it was though. The only possibility > >that comes to mind is "ALTER DATABASE SET autovacuum TO off" but I don't > >see why would it work. > > > I think the closest approximation of disabling autovacuum on a per > database basis is to connect to the database in question and perform: > > update pg_autovacuum set enabled = 'false'; > > This will prevent autovacuum from vacuuming or analyzing any of the > tables in the database, but will still check for XID wraparound. Problem with that is any time you add a table you'd need to re-run that command. Wouldn't be so bad if we had DDL triggers, but... -- Jim C. Nasby, Sr. Engineering Consultant jnasby@xxxxxxxxxxxxx Pervasive Software http://pervasive.com work: 512-231-6117 vcard: http://jim.nasby.net/pervasive.vcf cell: 512-569-9461