Re: VACUUM ANALYZE blocking both reads and writes to a table

From: Peter Schuller <peter(dot)schuller(at)infidyne(dot)com>
To: Alvaro Herrera <alvherre(at)commandprompt(dot)com>
Cc: pgsql-performance(at)postgresql(dot)org
Subject: Re: VACUUM ANALYZE blocking both reads and writes to a table
Date: 2008-06-30 15:43:18
Message-ID: 20080630154318.GB15756@hyperion.scode.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-performance

Actually, while on the topic:

> date: 2007-09-10 13:58:50 -0400; author: alvherre; state: Exp; lines: +6 -2;
> Remove the vacuum_delay_point call in count_nondeletable_pages, because we hold
> an exclusive lock on the table at this point, which we want to release as soon
> as possible. This is called in the phase of lazy vacuum where we truncate the
> empty pages at the end of the table.

Even with the fix the lock is held. Is the operation expected to be
"fast" (for some definition of "fast") and in-memory, or is this
something that causes significant disk I/O and/or scales badly with
table size or similar?

I.e., is this enough that, even without the .4 bug, one should not
really consider VACUUM ANALYZE non-blocking with respect to other
transactions?

(I realize various exclusive locks are taken for short periods of time
even for things that are officially declared non-blocking; the
question is whether this falls into this category.)

--
/ Peter Schuller

PGP userID: 0xE9758B7D or 'Peter Schuller <peter(dot)schuller(at)infidyne(dot)com>'
Key retrieval: Send an E-Mail to getpgpkey(at)scode(dot)org
E-Mail: peter(dot)schuller(at)infidyne(dot)com Web: http://www.scode.org

In response to

Responses

Browse pgsql-performance by date

  From Date Subject
Next Message Moritz Onken 2008-06-30 16:11:15 Re: Planner should use index on a LIKE 'foo%' query
Previous Message Peter Schuller 2008-06-30 15:34:35 Re: VACUUM ANALYZE blocking both reads and writes to a table