I just ran both VACUUM ANALYZE and VACUUM on all of the databases (the project database and the database created for the default user). All of the commit logs are still there. Do they get cleared only by VACUUM FULL? It is my understanding from the docs that vacuum full places exclusive locks, correct? In that case, I canot run it because the database is getting pounded 24x7 with row insertions. On another subject, is there a query I can run to find out who the owner of a filenode is? -----Original Message----- From: Tom Lane [mailto:tgl@xxxxxxxxxxxxx] Sent: Thursday, May 25, 2006 2:21 PM To: Benjamin Krajmalnik Cc: pgsql-admin@xxxxxxxxxxxxxx; Alvaro Herrera; Matthew T. O'Connor Subject: Re: [ADMIN] pg_clog questions "Benjamin Krajmalnik" <kraj@xxxxxxxxxxx> writes: >>> While checking our server, I noticed quite a few files in the pg_clog >>> directory. >>> Is there a maintenance task which can be run to purge the files which >>> are no longer needed? >> VACUUM. If they're not disappearing, you aren't running an adequate >> vacuum regime --- missing out some databases, perhaps? > I have autovacuum turned on with the default settings. Hm. I believe that autovac only does database-wide vacuums when it thinks they're necessary to prevent transaction wraparound failures. Which would mean that it'd let pg_clog grow to something on the order of half a gig before any truncation would happen. That's probably insufficiently aggressive :-( Alvaro, Matthew, any thoughts about improving that? It strikes me that Alvaro's work-in-progress on maintaining per-table xmin info would allow truncation of clog without actually insisting on a database-wide VACUUM, but that's not going to be any help for existing releases. regards, tom lane