Re: views, queries, and locks - Mailing list pgsql-general

From Merlin Moncure
Subject Re: views, queries, and locks
Date
Msg-id CAHyXU0yuBhaahKFqLs25Xy-j_QK-nSZ+k4GjizBG90waWa-peQ@mail.gmail.com
Whole thread Raw
In response to views, queries, and locks  (Jon Nelson <jnelson+pgsql@jamponi.net>)
Responses Re: views, queries, and locks
List pgsql-general
On Tue, Apr 3, 2012 at 12:01 PM, Jon Nelson <jnelson+pgsql@jamponi.net> wrote:
> I have a situation that I'd like some help resolving.
> Using PostgreSQL 8.4.<reasonably recent> on Linux, I have three things
> coming together that cause me pain. I have a VIEW used by a bunch of
> queries. Usually, these queries are fairly short (subsecond) but
> sometimes they can be very long (days). I also update this view with
> CREATE OR REPLACE VIEW every 15-30 minutes. What I observe, sometimes,
> is this:
>
> 1. query A comes in. It's a big one.
> 2. another process comes along, needs to update the view definition.
> It issues create or replace view. It blocks on [1].
> 3. queries B through N come in, are blocked by [2], which is blocked by [1].
> 4. pandemonium!
>
> I can reduce (some) but not eliminate the need to update the view
> multiple times a day. What might be some good ways to prevent queries
> B through N blocking?
>
> Addendum: I can work around the issue by timing out and failing the
> CREATE OR REPLACE VIEW (by canceling the query) after a short
> duration, but is there a better way?

Yeah -- this is just asking for trouble.  Why do you have to replace
the view every 30 minutes?  Your solution is probably going to involve
not doing that.

merlin

pgsql-general by date:

Previous
From: Bartosz Dmytrak
Date:
Subject: Re: Re: Please help me to take a look of the erros in my functions. Thanks.
Next
From: Jon Nelson
Date:
Subject: Re: views, queries, and locks