What to do after an "ERROR: out of memory"

From: "John Cheng" <chonger(dot)cheng(at)gmail(dot)com>
To: pgsql-general(at)postgresql(dot)org
Subject: What to do after an "ERROR: out of memory"
Date: 2008-07-29 15:29:24
Message-ID: a18a22ec0807290829s727f3621t6b0cf4c15d7785c9@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

We were updating a large set of data (executing a stored procedure
against a large set of data in one statement/transaction) while
autovacuum was running.

The resulting message looked like:

2008-07-28 21:18:08 CDT CONTEXT: automatic vacuum of table
"databasename._lms.sl_log_2" TopMemoryContext: 154528 total in 18
blocks; 19104 free (62 chunks); 135424 used
....
2008-07-28 21:28:53 CDT database_other ERROR: out of memory
2008-07-28 21:48:13 CDT ERROR:
canceling autovacuum task
...

It looked like the update transaction/statement was cancelled, and the
autovacuum tasks running at the time were also cancelled.

How does Postgres handle out of memory errors, is it simply cancelling
these tasks as if the transactions have been rolled back? Is there
anything that needs to be done to make sure the data in the database
is not corrupted?

--
- John L Cheng

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Csaba Nagy 2008-07-29 15:33:22 Re: interesting trigger behaviour in 8.3
Previous Message Ivan Zolotukhin 2008-07-29 15:25:08 interesting trigger behaviour in 8.3