Re: [SQL] Questions about vacuum analyze - Mailing list pgsql-sql

From Tom Lane
Subject Re: [SQL] Questions about vacuum analyze
Date
Msg-id 3104.939393781@sss.pgh.pa.us
Whole thread Raw
In response to Re: [SQL] Questions about vacuum analyze  ("Steven M. Wheeler" <swheeler@sabre.com>)
Responses Re: [SQL] Questions about vacuum analyze  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-sql
"Steven M. Wheeler" <swheeler@sabre.com> writes:
> I am now running into another problem.  I need to do select distinct from the
> currnt to get dates for maintenance activity (rows to summarize and move to
> history).  When ever I do I get this message in my server.log file:

> NOTICE:  BufFileRead: should have flushed after writing

> And I get 0 records selected.

After some code browsing I have come up with a theory: is it possible
that you are running out of disk space during the sort?  I see psort.c
neglects to check for write failure :-(, although I am not entirely
clear on why that particular message and nothing else would come out
after it bulled ahead with an incomplete temporary file.

Sorting a large table seems to require temp disk space equal to several
times the size of the table.  Since you said your table is 40M rows,
I can easily believe you don't have that much free space...

I don't believe anyone has taken a hard look at psort.c in a long time.
I will try to dive into it and see if its resource consumption can't
be reduced.  Mergesort inherently requires 2X the original data space,
but it seems that psort is using even more than that, and perhaps this
can be improved.
        regards, tom lane


pgsql-sql by date:

Previous
From: "Catherine Germain"
Date:
Subject: Select of 2 tables using "left outer join"
Next
From: Alexander F Hartner
Date:
Subject: Insert / Update Statement