pg.ddx.io  pgsql-hackers@postgresql.org mailing list archive  
help / color / mirror / Atom feed
From: Heikki Linnakangas <heikki.linnakangas@enterprisedb.com>
To: Gregory Stark <stark@enterprisedb.com>
Cc: Bruce Momjian <bruce@momjian.us>
Cc: PostgreSQL-development <pgsql-hackers@postgresql.org>
Cc: Tom Lane <tgl@sss.pgh.pa.us>
Subject: Re: Visibility map, partial vacuums
Date: Thu, 15 Jan 2009 08:30:34 +0200
Message-ID: <496ED80A.2080804@enterprisedb.com> (raw)
In-Reply-To: <87wscxfisu.fsf@oxford.xeocode.com>
References: <200901150055.n0F0tLK27057@momjian.us>
	<87wscxfisu.fsf@oxford.xeocode.com>

Gregory Stark wrote:
> Bruce Momjian <bruce@momjian.us> writes:
> 
>> Would someone tell me why 'autovacuum_freeze_max_age' defaults to 200M
>> when our wraparound limit is around 2B?
> 
> I suggested raising it dramatically in the post you quote and Heikki pointed
> it controls the maximum amount of space the clog will take. Raising it to,
> say, 800M will mean up to 200MB of space which might be kind of annoying for a
> small database.
> 
> It would be nice if we could ensure the clog got trimmed frequently enough on
> small databases that we could raise the max_age. It's really annoying to see
> all these vacuums running 10x more often than necessary.

Well, if it's a small database, you might as well just vacuum it.

> The rest of the thread is visible at the bottom of:
> 
> http://article.gmane.org/gmane.comp.db.postgresql.devel.general/107525
> 
>> Also, is anything being done about the concern about 'vacuum storm'
>> explained below?
> 
> I'm interested too.

The additional "vacuum_freeze_table_age" (as I'm now calling it) setting 
I discussed in a later thread should alleviate that somewhat. When a 
table is autovacuumed, the whole table is scanned to freeze tuples if 
it's older than vacuum_freeze_table_age, and relfrozenxid is advanced. 
When different tables reach the autovacuum threshold at different times, 
they will also have their relfrozenxids set to different values. And in 
fact no anti-wraparound vacuum is needed.

That doesn't help with read-only or insert-only tables, but that's not a 
new problem.

-- 
   Heikki Linnakangas
   EnterpriseDB   http://www.enterprisedb.com



view thread (53+ messages)  latest in thread

Message-ID: <496ED80A.2080804@enterprisedb.com>
Permalink:  ../496ED80A.2080804@enterprisedb.com/
Also on:    postgresql.org/message-id/496ED80A.2080804@enterprisedb.com

 · 

reply

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Reply to all the recipients using the --to and --cc options:
  reply via email

  To: pgsql-hackers@postgresql.org
  Cc: heikki.linnakangas@enterprisedb.com, stark@enterprisedb.com, bruce@momjian.us, tgl@sss.pgh.pa.us
  Subject: Re: Visibility map, partial vacuums
  In-Reply-To: <496ED80A.2080804@enterprisedb.com>

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox