Re: Newbie questions relating to transactions

From: Carl Sopchak <carl(dot)sopchak(at)cegis123(dot)com>
To: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: pgsql-general(at)postgresql(dot)org
Subject: Re: Newbie questions relating to transactions
Date: 2009-03-08 14:39:13
Message-ID: 200903081039.14287.carl.sopchak@cegis123.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: 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(dot)sopchak(at)cegis123(dot)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

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Gregory Stark 2009-03-08 15:34:53 Re: Newbie questions relating to transactions
Previous Message Piotre Ugrumov 2009-03-08 10:06:04 Re: Enable user access from remote host