Tatsuo Ishii <ishii@postgresql.org> writes:
>> You didn't show us how you computed those numbers, but I'm really
>> dubious that FileWrite() has got any ability to produce numbers that
>> are helpful. Like Cedric, I think the write amount in any one call
>> is usually going to be one block.
> Here it is(fd.c).
> ereport(ERROR,
> (errcode(ERRCODE_QUERY_CANCELED),
> errmsg("aborting due to exceeding temp file limit, current usage %dkB, requested size %dkB,
thusit will exceed temp file limit %dkB",
> (int)(temporary_files_size/1024),
> amount,
> temp_file_limit)));
The thing is that unless "amount" is really large, you're just going to
have two numbers that are very close to each other. I think this is
just useless complication, because "amount" is almost always going to
be 8kB or less.
regards, tom lane