Received: from localhost (unknown [200.46.204.187]) by postgresql.org (Postfix) with ESMTP id 4ED972E0037 for ; Fri, 25 Jan 2008 14:45:18 -0400 (AST) Received: from postgresql.org ([200.46.204.71]) by localhost (mx1.hub.org [200.46.204.187]) (amavisd-maia, port 10024) with ESMTP id 53321-07 for ; Fri, 25 Jan 2008 14:44:46 -0400 (AST) Received: from svr2.hagander.net (svr2.hagander.net [88.198.128.226]) by postgresql.org (Postfix) with ESMTP id 6B8842E0053 for ; Fri, 25 Jan 2008 14:44:47 -0400 (AST) Received: from dynamic.hagander.net ([127.0.0.1]) (encrypted and authenticated) by svr2.hagander.net (Postfix) with ESMTP id B99B3DCC530; Fri, 25 Jan 2008 19:44:45 +0100 (CET) Message-ID: <479A2E57.3060405@hagander.net> Date: Fri, 25 Jan 2008 19:45:43 +0100 From: Magnus Hagander User-Agent: Thunderbird 2.0.0.9 (X11/20071031) MIME-Version: 1.0 To: "Roberts, Jon" CC: cgallant@gmail.com, pgsql-performance@postgresql.org Subject: Re: 8.3rc1 Out of memory when performing update References: <20080124231433.2f312549@pmanson> <20080125183246.GB32623@soleauthority.ca> <1A6E6D554222284AB25ABE3229A927627154CE@nrtexcus702.int.asurion.com> In-Reply-To: <1A6E6D554222284AB25ABE3229A927627154CE@nrtexcus702.int.asurion.com> X-Enigmail-Version: 0.95.6 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-Virus-Scanned: Maia Mailguard 1.0.1 X-Archive-Number: 200801/239 X-Sequence-Number: 28478 Roberts, Jon wrote: >> Subject: Re: [PERFORM] 8.3rc1 Out of memory when performing update >> >>>> A simple update query, over roughly 17 million rows, populating a >>>> newly added column in a table, resulted in an out of memory error >>>> when the process memory usage reached 2GB. Could this be due to a >>>> poor choice of some configuration parameter, or is there a limit > on >>>> how many rows I can update in a single statement? >>>> >>> I believe that it is plataform problem. Because on *nix this > limit >>> don't occur. But I don't specialist Windows. >> On most Windows Servers(except for database edition and a few other >> variants), 2Gb is the most you can address to a single >> process without booting the machine with a special parameter called > \3G >> which will allow for allocating up to 3Gb per process. That is the >> limit unless you get special versions of windows server 2003 as far as > I >> know. If you do a google search on \3G with windows you will find > what >> I am refering too. > > Windows 32 bit is limited to 2 or 3 GB as you state but 64 bit Windows > isn't. 32 bit Linux has similar limits too. Well, PostgreSQL on Windows is a 32-bit binary, so the limit applies to this case. //Magnus