Re: URGENT: Out of disk space pg_xlog - Mailing list pgsql-performance

From Tom Lane
Subject Re: URGENT: Out of disk space pg_xlog
Date
Msg-id 26238.1166811258@sss.pgh.pa.us
Whole thread Raw
In response to Re: URGENT: Out of disk space pg_xlog  ("Kevin Grittner" <Kevin.Grittner@wicourts.gov>)
Responses Re: URGENT: Out of disk space pg_xlog  ("Kevin Grittner" <Kevin.Grittner@wicourts.gov>)
Re: URGENT: Out of disk space pg_xlog  (ohp@pyrenet.fr)
Re: URGENT: Out of disk space pg_xlog  (Bruce Momjian <bruce@momjian.us>)
List pgsql-performance
"Kevin Grittner" <Kevin.Grittner@wicourts.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

pgsql-performance by date:

Previous
From: "Jeremy Haile"
Date:
Subject: Re: URGENT: Out of disk space pg_xlog
Next
From: "Kevin Grittner"
Date:
Subject: Re: URGENT: Out of disk space pg_xlog