On Wed, Jan 30, 2013 at 5:39 AM, Kevin Grittner <kgri...@ymail.com> wrote: > Andres Freund <and...@2ndquadrant.com> wrote: >> >> Don't think I did. I was talking about vacuum_freeze_table_age >> because that influences the amount of full-table scans > > Not any more than vacuum_freeze_min_age does.
There is a lot more room for vacuum_freeze_table_age to be increased, then there is for vacuum_freeze_min_age to be decreased. > http://www.postgresql.org/docs/9.2/interactive/routine-vacuuming.html#AUTOVACUUM > > | a whole table sweep is forced if the table hasn't been fully > | scanned for vacuum_freeze_table_age minus vacuum_freeze_min_age > | transactions. Why is vacuuming described as such a violent process? It doesn't "force" a table sweep, it just goes ahead and performs one. In general, it seems hard to tell from the docs that this only promotes a vacuum which is going to happen anyway from a vm one to a full scan one. The forcefulness makes it sound more like it is doing vacuums that wouldn't happen otherwise (like autovacuum_freeze_max_age does, which actually could be described as "force" since it turns on the autovac launcher even if it is configured to be off) > So reducing vacuum_freeze_min_age not only helps minimize the > writes that are needed when autovacuum needs to scan the entire > heap, How does it do that? If the tuple doesn't need to frozen now because it was already frozen, that just means the write happened at a different time but it still happened. Cheers, Jeff -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers