Re: Allow sorts to use more available memory
От
Tom Lane
Тема
Re: Allow sorts to use more available memory
Дата
Msg-id
17895.1315869622@sss.pgh.pa.us
Ответ на
Re: Allow sorts to use more available memory (Robert Schnabel)
Список
Дерево обсуждения
Allow sorts to use more available memory Robert Schnabel <schnabelr@missouri.edu>
Re: Allow sorts to use more available memory Andy Colson <andy@squeakycode.net>
Re: Allow sorts to use more available memory Shaun Thomas <sthomas@peak6.com>
Re: Allow sorts to use more available memory Andy Colson <andy@squeakycode.net>
Re: Allow sorts to use more available memory Robert Schnabel <schnabelr@missouri.edu>
Re: Allow sorts to use more available memory Andy Colson <andy@squeakycode.net>
Re: Allow sorts to use more available memory Andy Colson <andy@squeakycode.net>
Re: Allow sorts to use more available memory Robert Schnabel <schnabelr@missouri.edu>
Re: Allow sorts to use more available memory pasman pasmański <pasman.p@gmail.com>
Re: Allow sorts to use more available memory Scott Marlowe <scott.marlowe@gmail.com>
Re: Allow sorts to use more available memory Robert Schnabel <schnabelr@missouri.edu>
Re: Allow sorts to use more available memory Tom Lane <tgl@sss.pgh.pa.us>
Re: Allow sorts to use more available memory Stephen Frost <sfrost@snowman.net>
Re: Allow sorts to use more available memory Stephen Frost <sfrost@snowman.net>
Re: Allow sorts to use more available memory Bruce Momjian <bruce@momjian.us>
Robert Schnabel writes: > On 9/12/2011 3:58 PM, Scott Marlowe wrote: >> On Mon, Sep 12, 2011 at 11:33 AM, Robert Schnabel >> wrote: >>> The recent "data warehouse" thread made me think about how I use work_mem >>> for some of my big queries. So I tried SET work_mem = '4GB' for a session >>> and got >>> ERROR: 4194304 is outside the valid range for parameter "work_mem" (64 .. >>> 2097151) >> Ubuntu 10.10, pgsql 8.4.8: >> smarlowe=# set work_mem='1000GB'; >> SET > Ok, so is this a limitation related to the Windows implementation? Yeah. If you look into guc.c you'll find this: /* upper limit for GUC variables measured in kilobytes of memory */ /* note that various places assume the byte size fits in a "long" variable */ #if SIZEOF_SIZE_T > 4 && SIZEOF_LONG > 4 #define MAX_KILOBYTES INT_MAX #else #define MAX_KILOBYTES (INT_MAX / 1024) #endif Since Windows, more or less alone among known 64-bit operating systems, chose not to make "long" the same width as pointers, these values get restricted just as if you were on a 32-bit machine. Few Postgres developers use Windows enough to get excited about doing all the tedious (and bug-prone) gruntwork that would be required to fix this. regards, tom lane
В списке pgsql-performance по дате отправления