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
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 |