| From: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
|---|---|
| To: | Stephan Szabo <sszabo(at)megazone23(dot)bigpanda(dot)com> |
| Cc: | Greg Patnude <GPatnude(at)hotmail(dot)com>, pgsql-general(at)postgresql(dot)org |
| Subject: | Re: What happens when you run out of transaction ID's ??? |
| Date: | 2003-01-29 15:46:52 |
| Message-ID: | 26587.1043855212@sss.pgh.pa.us |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-general |
>> His code NEVER exited the WHILE statement so he kept on beginning over
>> and over again... After about 3-4 hours, postgreSQL would just go away.
>> I enabled some extended logging and restarted the data server....
Now that I think about it, 4 billion consecutive BEGINs (or a BEGIN
followed by 4 billion commands of any kind) would eventually hit the
CommandCounter wraparound limit. This doesn't cause a crash though.
This is what it looks like in 7.2:
regression=# begin;
NOTICE: BEGIN: already a transaction in progress
BEGIN
regression=# begin;
NOTICE: BEGIN: already a transaction in progress
ERROR: You may only have 2^32-1 commands per transaction
regression=# begin;
NOTICE: current transaction is aborted, queries ignored until end of transaction block
*ABORT STATE*
regression=# begin;
NOTICE: current transaction is aborted, queries ignored until end of transaction block
*ABORT STATE*
regression=# begin;
(No, I didn't really execute 4 billion begins, just twiddled the counter
with a debugger ...)
But Greg still hasn't told us exactly what undesirable behavior he's
seeing.
regards, tom lane
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Holger Klawitter | 2003-01-29 15:47:35 | Re: Firewalls and Postgres |
| Previous Message | Richard Huxton | 2003-01-29 15:45:53 | Re: Rules for trigger execution |