Le 09/02/2010 05:49, John R Pierce a écrit :
> David Kerr wrote:
>>>> maintenance_work_mem = 1GB
>>>
>>> So evidently, when it tries to actually allocate 1GB, it can't do it.
>>> Ergo, that setting is too high for your machine.
>>> ...
>>
>> seems like i've got 2GB free.
>
>
> is this a 64bit postgres build?
>
> if not, you're probably running out of virtual address space in the 32
> bit user space, which is limited to like 2gb.
>
IIRC, the virtual address space in 32bit platforms is 4GB.
> the other possibility, and here I'm not sure, is that
> maintenance_work_mem is coming out of shared memory, and if so, you've
> exceeeded your SHMMAX kernel limit.
>
work_mem and maintenance_work_mem are not shared memory. AFAICT, David
need to check if the VACUUM works with a lower setting for
maintenance_work_mem. For example, 512MB could work.
--
Guillaume.
http://www.postgresqlfr.org
http://dalibo.com