Joshua D. Drake wrote: > On 05/06/2016 01:40 PM, Robert Haas wrote: > >On Wed, May 4, 2016 at 8:08 PM, Andres Freund <and...@anarazel.de> wrote: > >>On 2016-05-02 14:48:18 -0700, Andres Freund wrote: > >>>77a1d1e Department of second thoughts: remove PD_ALL_FROZEN. > >> > >>Nothing to say here. > >> > >>>fd31cd2 Don't vacuum all-frozen pages. > >> > >>Hm. I do wonder if it's going to bite us that we don't have a way to > >>actually force vacuuming of the whole table (besides manually rm'ing the > >>VM). I've more than once seen VACUUM used to try to do some integrity > >>checking of the database. How are we actually going to test that the > >>feature works correctly? They'd have to write checks ontop of > >>pg_visibility to see whether things are borked. > > > >Let's add VACUUM (FORCE) or something like that. > > This is actually inverted. Vacuum by default should vacuum the entire > relation, however if we are going to keep the existing behavior of this > patch, VACUUM (FROZEN) seems to be better than (FORCE)?
Prior to some 7.x release, VACUUM actually did what we ripped out in 9.0 release as VACUUM FULL. We actually changed the mode of operation quite heavily into the "lazy" mode which didn't acquire access exclusive lock, and it was a huge relief. I think that changing the mode of operation to be the lightest possible thing that gets the job done is convenient for users, because their existing scripts continue to clean their tables only they take less time. No need to tweak the maintenance scripts. I don't know what happens when the freeze_table_age threshold is reached. Do we scan the whole table when that happens? Because if we do, then we don't need a new keyword: just invoke the command after lowering the setting. Another question on this feature is what happens with the table age (relfrozenxid, relminmxid) when the table is not wholly scanned by vacuum. -- Álvaro Herrera http://www.2ndQuadrant.com/ PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services -- Sent via pgsql-hackers mailing list (firstname.lastname@example.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers