Heavy queries not run by user application

From: Ruben Blanco <rubenblan(at)gmail(dot)com>
To: pgsql-general(at)postgresql(dot)org
Subject: Heavy queries not run by user application
Date: 2011-02-13 01:11:52
Message-ID: AANLkTi=HuOpcG3uyJ7Nbi8riLRLGjncXUGJAMACbSYuW@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

Hi:

I'm running a Postgres database with a total disk occupation of 100Gb,
largest and most used table up to 40Gb (about 30.000.000 tuples).

Overall performance degrades sometimes due to some queries that are not run
by the final user app. I guess they are run by Postgres itself. They use to
take up to 100% of CPU and delay user queries substantially.

From 'pg_stat_activity', you can see this pattern in "current_query" column
for these queries:

SELECT * FROM "public"."tablename" ORDER BY "column1", "column2"...
LIMIT 1000 OFFSET 144000

Sometimes with 'SET DATESTYLE = "ISO"'; before the SELECT.

These are always SELECTs on random tables without conditions (WHERE) and
with 'ORDER BY' clause, what makes them -I guess- very heavy.

I use to cancel these queries with "pg_cancel_backend" to recover database
functionality.

So, what are these queries indeed? Is it advisable to cancel them? Is there
any way to prevent these situation to happen?

I use PostgreSQL 8.4.4 on x86_64-redhat-linux-gnu, compiled by GCC gcc (GCC)
4.1.2 20080704 (Red Hat 4.1.2-46), 64-bit.

Thanks in advance for any help.
Ruben.

Responses

Browse pgsql-general by date

  From Date Subject
Next Message mark 2011-02-13 01:44:29 Re: Multithreaded query onto 4 postgresql instances
Previous Message David Johnston 2011-02-13 00:08:48 Re: Select + Functions + Composite Types: Behavior