Dropping of indexes with cached PL query plans

From: Jerry Sievers <jerry(at)jerrysievers(dot)com>
To: pgsql-admin(at)postgresql(dot)org
Subject: Dropping of indexes with cached PL query plans
Date: 2006-02-16 15:36:01
Message-ID: m3ek239uzi.fsf@prod01.jerrysievers.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-admin

Hello.

I am curious what (if any) reliable solution/workaround there is in
cases where objects that are a part of a currently cached query plan
disappear unexpectedly.

Using JDBC and pooled connections, our production system has at any
time 120 or so live connections, most in an idle state. They must
remain alive however for proper operation of the app server.

Any of these connections that may have previously executed PL
functions which planned an index lookup are now going to fault if same
index goes away.

Had wondered if a postmaster 'reload' would elicit a recompiling of
func query plans (did *not* see this in the docs but was hopeful...).

Anyway, we find that reloading the function definitions allows
continued proper operation. Of course, due to quite a lot of
indirection in func and trigger invocation, identifying just the right
funcs to reload seems unfeasible. We don't relish the thought of
reloading all 400+ of them after an index drop.

For that matter, I am averse to reloading *any* func defs on a live
prod machine either as matter of principle.

Arg! But the nature of business at this company makes difficult a
strict adherance to "hands off prod boxes" methodology.

Comments?

--
-------------------------------------------------------------------------------
Jerry Sievers 305 854-3001 (home) WWW ECommerce Consultant
305 321-1144 (mobile http://www.JerrySievers.com/

Responses

Browse pgsql-admin by date

  From Date Subject
Next Message Tom Lane 2006-02-16 16:12:50 Re: Dropping of indexes with cached PL query plans
Previous Message Tom Lane 2006-02-16 02:00:41 Re: hba conf ident sameuser not working