ERROR: could not write block 196261 of temporary file: No space left

From: TJ O'Donnell <tjo(at)acm(dot)org>
To: pgsql-sql(at)postgresql(dot)org
Subject: ERROR: could not write block 196261 of temporary file: No space left
Date: 2006-09-20 22:00:32
Message-ID: 4511BA00.6070001@acm.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-sql

I got the following error during a psql session of a big transaction
filling a temporary table, then selecting distinct values from it
for insertion into a permanent table.

CREATE TABLE
CREATE TABLE
ERROR: could not write block 196261 of temporary file: No space left
on device
HINT: Perhaps out of disk space?
UPDATE 0

I can't tell if this was because I ran out of real disk space,
or because of some disk space limit set in pg config files.
The log file contains no extra information.
After this failure the real disk space was not full,
of course because the transaction died and apparently any used disk
space got cleaned up.
I also can't tell if the error came from the Copy or the Insert.
Can someone help me figure this out?
Here is the SQL.

Create Table fragment_table (smarts character varying, frequency
integer);

Create Temporary Table temp_table (smarts character varying);

Copy temp_table (smarts) from stdin;
(millions of strings here generated programatically)
\.

Insert into fragment_table (smarts) Select distinct smarts from
temp_table
where gnova.oe_valid(smarts) and
gnova.matches(gnova.cansmiles(smarts),smarts);

Update fragment_table set frequency =
(select count(smiles) from input_set
where smiles is not null and gnova.matches(smiles,smarts)
group by smarts);

Responses

Browse pgsql-sql by date

  From Date Subject
Next Message Tom Lane 2006-09-20 22:31:46 Re: ERROR: could not write block 196261 of temporary file: No space left
Previous Message Aaron Bono 2006-09-20 18:38:05 Re: Need a SQL to create sets of hobbies