Long-running query blocks all other queries - Mailing list pgsql-general

From Anton V. Belyaev
Subject Long-running query blocks all other queries
Date
Msg-id 7363f175-77e4-4f82-94d1-360ab9d77a6f@w34g2000yqm.googlegroups.com
Whole thread Raw
Responses Re: Long-running query blocks all other queries  (Bill Moran <wmoran@potentialtech.com>)
Re: Long-running query blocks all other queries  (Scott Marlowe <scott.marlowe@gmail.com>)
List pgsql-general
Hello,

I want to run a long running query in background to collect
statistics. I.e. how many users played the game last month more than
50 times.

SELECT count(*) FROM (SELECT user_id, COUNT(*) AS total_games FROM
games, game2user WHERE games.finished > '2009-02-19' AND games.id =
game2user.game_id GROUP BY user_id) AS aaa WHERE aaa.total_games > 50;

I have 4-cored machine, so I expected the query to be able to run for
a long time without performance degrade for application.

But the query has completely blocked all other queries. Even those,
which are not related to tables, used by the long-running query.

Why does this block happen and how to aid it?

Thanks.

pgsql-general by date:

Previous
From: "Rob Richardson"
Date:
Subject: Changing pg_type records
Next
From: Bill Moran
Date:
Subject: Re: Long-running query blocks all other queries