Re: 2GB limit for temp_file_limit on 32bit platform

From: Mark Kirkwood <mark(dot)kirkwood(at)catalyst(dot)net(dot)nz>
To: "Joshua D(dot) Drake" <jd(at)commandprompt(dot)com>
Cc: Christopher Browne <cbbrowne(at)gmail(dot)com>, Pavel Stehule <pavel(dot)stehule(at)gmail(dot)com>, PostgreSQL Hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: 2GB limit for temp_file_limit on 32bit platform
Date: 2012-07-19 22:07:50
Message-ID: 50088536.1080702@catalyst.net.nz
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On 20/07/12 09:58, Mark Kirkwood wrote:
> On 20/07/12 09:08, Joshua D. Drake wrote:
>>
>> On 07/19/2012 01:48 PM, Christopher Browne wrote:
>>>
>>> On Thu, Jul 19, 2012 at 4:29 PM, Joshua D. Drake
>>> <jd(at)commandprompt(dot)com> wrote:
>>>>
>>>> On 07/19/2012 01:04 PM, Pavel Stehule wrote:
>>>>>
>>>>> I did a backport of temp_file_limit feature to 9.1, but when we
>>>>> tested
>>>>> this patch, we found very restristrictive limit to 2GB.
>>>>>
>>>>> 2GB is nonsense, because this is session limit of temp files, and
>>>>> these files should be longer than 2GB.
>>>>
>>>>
>>>> I haven't read the patch but... don't all 32bit platforms have a
>>>> 2GB limit
>>>> (by default)?
>>>
>>> I don't think so.
>>>
>>> LFS got done in the mid-90s, which is long enough ago for people to
>>> start forgetting about it. Are there any supported platforms that
>>> didn't adopt LFS?
>>>
>>> http://en.wikipedia.org/wiki/Large_file_support
>>
>> Note: "by default" :). I know they could support LFS but as I recall
>> you had to compile specifically for it (at least on linux and old
>> versions of pg).
>>
>> So I was curious if it was that specific limitation or a limitation
>> within the Pg code itself.
>>
>>
>
> It is to do with the datatype of the GUC used for the setting - I
> haven't got the patch in from of me to look at, but recall that going
> larger meant using a float type which meant you couldn't get nice
> units displayed (MB, GB etc).
>
> I'll take a proper look later.
>
>

From src/backend/utils/misc/guc.c

{"temp_file_limit", PGC_SUSET, RESOURCES_DISK,
gettext_noop("Limits the total size of all temp files used
by each session."),
gettext_noop("-1 means no limit."),
GUC_UNIT_KB
},
&temp_file_limit,
-1, -1, INT_MAX,
NULL, NULL, NULL
},

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Samuel Vogel 2012-07-19 22:14:23 Re: b-tree index search algorithms
Previous Message Mark Kirkwood 2012-07-19 21:58:19 Re: 2GB limit for temp_file_limit on 32bit platform