Query memory usage

From: Tom Duffey <tduffey(at)trillitech(dot)com>
To: pgsql-general(at)postgresql(dot)org
Subject: Query memory usage
Date: 2010-05-15 19:15:36
Message-ID: A990A309-8AC6-4890-981C-6D87699B083F@trillitech.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

Hi Everyone,

I have a table with several hundred million rows of timestamped
values. Using pg_dump we are able to dump the entire table to disk no
problem. However, I would like to retrieve a large subset of data
from this table using something like:

COPY (SELECT * FROM history WHERE timestamp > '2009-01-01') TO STDOUT;

Executing this query causes our server to consume all available swap
and crash. Can anyone help me figure out what needs to be done to
allow this query to execute? How long it takes doesn't really matter
as long as it can be performed reliably. The database currently lives
on a Red Hat EL 5.3 server with 16GB RAM and 4GB swap running
PostgreSQL 8.3.7. Possibly relevant lines from postgresql.conf:

shared_buffers = 4GB
work_mem = 32MB
maintenance_work_mem = 1GB
effective_cache_size = 8GB

Tom

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Karl Denninger 2010-05-15 19:55:10 Re: Query memory usage
Previous Message sunpeng 2010-05-15 18:19:32 how to get Point * from datum =heap_getattr(....)?