Received: from localhost (wm.hub.org [200.46.204.128]) by postgresql.org (Postfix) with ESMTP id 724459FB48B for ; Wed, 1 Nov 2006 16:45:16 -0400 (AST) Received: from postgresql.org ([200.46.204.71]) by localhost (mx1.hub.org [200.46.204.128]) (amavisd-new, port 10024) with ESMTP id 13236-02-3 for ; Wed, 1 Nov 2006 20:44:15 +0000 (UTC) X-Greylist: domain auto-whitelisted by SQLgrey- Received: from wx-out-0506.google.com (wx-out-0506.google.com [66.249.82.228]) by postgresql.org (Postfix) with ESMTP id 59E9C9FB70B for ; Wed, 1 Nov 2006 15:15:35 -0400 (AST) Received: by wx-out-0506.google.com with SMTP id t13so2100998wxc for ; Wed, 01 Nov 2006 11:15:34 -0800 (PST) DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=beta; d=gmail.com; h=received:message-id:date:from:to:subject:mime-version:content-type; b=MGlina0S2lVO7WCpXkP9wlP2L/slrxI09EQTgPWUM+xRS7qY5thp62bPZcI+G7Lb3i8tQawLk16cbMQoWlAoX6hP1uNECokDUCq/0LxwmoARbzPTFOg1FM+Y3VywQMP8A17UToUAk1O62Xew9CGOTVCIPiRowg2FkvIXR8FdY2c= Received: by 10.70.59.17 with SMTP id h17mr10888850wxa; Wed, 01 Nov 2006 11:15:29 -0800 (PST) Received: by 10.70.102.8 with HTTP; Wed, 1 Nov 2006 11:15:29 -0800 (PST) Message-ID: <357fa7590611011115q748ddce9qa6cf570ec2f15348@mail.gmail.com> Date: Wed, 1 Nov 2006 14:15:29 -0500 From: "Steven Flatt" To: pgsql-performance@postgresql.org Subject: Database-wide vacuum can take a long time, during which tables are not being analyzed MIME-Version: 1.0 Content-Type: multipart/alternative; boundary="----=_Part_23651_27036554.1162408529814" X-Virus-Scanned: Maia Mailguard 1.0.1 X-Archive-Number: 200611/15 X-Sequence-Number: 21785 ------=_Part_23651_27036554.1162408529814 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Content-Disposition: inline Here is a potential problem with the auto-vacuum daemon, and I'm wondering if anyone has considered this. To avoid transaction ID wraparound, the auto-vacuum daemon will periodically determine that it needs to do a DB-wide vacuum, which takes a long time. On our system, it is on the order of a couple of weeks. (The system is very busy and there is a lot of I/O going on pretty much 24/7). During this period of time, there is nothing to automatically analyze any of the tables, leading to further performance problems. What are your thoughts on having the DB-wide vacuum running on a separate thread so that the daemon can concurrently wake up and take care of analyzing tables? ------=_Part_23651_27036554.1162408529814 Content-Type: text/html; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Content-Disposition: inline
Here is a potential problem with the auto-vacuum daemon, and I'm wondering if anyone has considered this.  To avoid transaction ID wraparound, the auto-vacuum daemon will periodically determine that it needs to do a DB-wide vacuum, which takes a long time.  On our system, it is on the order of a couple of weeks.  (The system is very busy and there is a lot of I/O going on pretty much 24/7).  During this period of time, there is nothing to automatically analyze any of the tables, leading to further performance problems.  What are your thoughts on having the DB-wide vacuum running on a separate thread so that the daemon can concurrently wake up and take care of analyzing tables?
------=_Part_23651_27036554.1162408529814--