Re: pg_autovacuum and REINDEX at the same time (?)

From: Heikki Linnakangas <heikki(at)enterprisedb(dot)com>
To: Janar Kartau <janar(dot)kartau(at)cvkeskus(dot)ee>
Cc: pgsql-bugs(at)postgresql(dot)org
Subject: Re: pg_autovacuum and REINDEX at the same time (?)
Date: 2007-02-28 11:15:36
Message-ID: 45E56458.2040908@enterprisedb.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs

Janar Kartau wrote:
> Hi.
> I've been running autovacuum over a month now without any problems, but
> today one of the critical tables got locked and made a pretty big mess. :)
> We have a cron script that does REINDEX on this table every 5 minutes.
> So i wonder if running REINDEX and VACUUM on the same table at the same
> time may cause this deadlock?
> Or can a VACUUM make so much trouble?

ISTM that you have two separate issues.

The "sorry, too many clients already" error means that you've reached
the maximum number of connections, as set with the max_connections
setting. The autovacuum processes needs one connection to run.

I suspect that the deadlock is not related to the autovacuum, but just
an interaction between your transactions and the REINDEX.

What does the update_itemcount() function look like? Are you running the
REINDEX in a transaction?

Why do you need to reindex every 5 minutes? How long does the vacuum run
normally?

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

In response to

Responses

Browse pgsql-bugs by date

  From Date Subject
Next Message Janar Kartau 2007-02-28 11:38:50 Re: pg_autovacuum and REINDEX at the same time (?)
Previous Message Janar Kartau 2007-02-28 10:12:12 pg_autovacuum and REINDEX at the same time (?)