Re: URGENT: Out of disk space pg_xlog

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: "Kevin Grittner" <Kevin(dot)Grittner(at)wicourts(dot)gov>
Cc: "Jeremy Haile" <jhaile(at)fastmail(dot)fm>, pgsql-performance(at)postgresql(dot)org
Subject: Re: URGENT: Out of disk space pg_xlog
Date: 2006-12-22 18:14:18
Message-ID: 26238.1166811258@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-performance

"Kevin Grittner" <Kevin(dot)Grittner(at)wicourts(dot)gov> writes:
> As I understand it, the log space accumulates for the oldest transaction
> which is still running, and all transactions which started after it.

No, pg_xlog can be truncated as soon as a checkpoint occurs. If Jeremy
wasn't using archive_command then the only possible explanation for
bloated pg_xlog is that checkpoints were failing. Which is not unlikely
if the *data* partition runs out of space. Were there gripes in the log
before the system crash? The scenario we've seen in the past is

* data partition out of space, so writes fail
* each time Postgres attempts a checkpoint, writes fail, so the
checkpoint fails. No data loss at this point, the dirty buffers
just stay in memory.
* pg_xlog bloats because we can't truncate away old segments
* eventually pg_xlog runs out of space, at which point we PANIC
and can't continue running the database

Once you free some space on the data partition and restart, you should
be good to go --- there will be no loss of committed transactions, since
all the operations are in pg_xlog. Might take a little while to replay
all that log though :-(

regards, tom lane

In response to

Responses

Browse pgsql-performance by date

  From Date Subject
Next Message Kevin Grittner 2006-12-22 18:37:23 Re: URGENT: Out of disk space pg_xlog
Previous Message Jeremy Haile 2006-12-22 17:39:48 Re: URGENT: Out of disk space pg_xlog