Re: Newbie questions relating to transactions - Mailing list pgsql-general

From Carl Sopchak
Subject Re: Newbie questions relating to transactions
Date
Msg-id 200903081039.14287.carl.sopchak@cegis123.com
Whole thread Raw
In response to Re: Newbie questions relating to transactions  (Tom Lane <tgl@sss.pgh.pa.us>)
Responses Re: Newbie questions relating to transactions  (Gregory Stark <stark@enterprisedb.com>)
Re: Newbie questions relating to transactions  (Alvaro Herrera <alvherre@commandprompt.com>)
List pgsql-general
Well, the upgrade to 8.3 seemed to rid me of the command limit, but now I'm
running out of memory.  I have 2Gb physical and 8Gb swap (after adding 4Gb).

Is there a way for me to run this outside of one huge transaction?  This
really shouldn't be using more than a few hundred megs of RAM (assuming
cursor records are all stored in memory)...

Thanks for the help,

Carl

On Saturday, March 07, 2009, Tom Lane wrote:
> Carl Sopchak <carl.sopchak@cegis123.com> writes:
> > I have written a PL/pgSQL function that performs these calculations by
> > reading the needed data, calculating, and saving the results.  When run
> > over a smaller set of data, it works fine.  But when I tried to run it
> > over this larger set of data, I got the error message "ERROR:  cannot
> > have more than 2^32-1 commands in a transaction".
> >
> > I have looked into trying to control the transaction within my function,
> > but apparently this results in nested transactions, which is not
> > supported by pgsql 8.2 (my current version).
>
> Try updating to 8.3 --- it only counts plpgsql statements as separate
> "commands" if they actually modified something on-disk.  The 2^32 limit
> is still there but it's a lot harder to hit.
>
>             regards, tom lane


pgsql-general by date:

Previous
From: Piotre Ugrumov
Date:
Subject: Re: Enable user access from remote host
Next
From: Gregory Stark
Date:
Subject: Re: Newbie questions relating to transactions