Re: Root partition full of files in /var/lib/postgresql/9.1/main/pg_xlog - Mailing list pgsql-admin

From Albe Laurenz
Subject Re: Root partition full of files in /var/lib/postgresql/9.1/main/pg_xlog
Date
Msg-id A737B7A37273E048B164557ADEF4A58B17C087E5@ntex2010a.host.magwien.gv.at
Whole thread Raw
In response to Root partition full of files in /var/lib/postgresql/9.1/main/pg_xlog  (Ed Tarento <etarento@gmail.com>)
List pgsql-admin
Ed Tarento wrote:
> I'm a newbie, I hope this is the right group and admit I have little postgres experience.  I'm working
> on a VM I can easily re-install so killing it doesn't matter.  The dir is full of 508 files, the last
> few of which look like:
> 
> -rw------- 1 postgres postgres 16777216 Aug 25 02:19 0000000100000001000000FA
> -rw------- 1 postgres postgres 16777216 Aug 25 02:39 0000000100000001000000FB
> drwx------ 2 postgres postgres     4096 Jun 13 13:24 archive_status
> root@operations:/var/lib/postgresql/9.1/main/pg_xlog#
> 
> I have root access to the machine but I don't have any postgres access, other than sudo of course.
> I've tried stopping my app, ensuring nothing postgres appears in ps and tried deleting the files but
> when I restarted my app, it didn't work.  I've checked (Google) as many posts as possible but can't
> find exactly what I need, i.e. the method of removing the offending files cleanly.
> 
> Here's as much as I can tell you
> 
> Debian 64 bit running on ESXi
> 
> postgres 9.1
> 
> I have some *nix experience, can use vi and sudo and the like

In addition to Thomas' questions (most of all, check "archive_mode"
and "archive_command" and see if there are any error messages in the
database server log) let me add the following:

You have probably damaged your database by randomly deleting files
it needs to run (the log will tell you details).

The first thing you should do is to make a backup of *all* the files
that you didn't delete yet.

Most likely you will have to use "pg_resetxlog" to get the cluster into
a state where it can start.  Then *immediately* take a full logical
backup with pg_dumpall and import that into a new database cluster.
Keep your fingers crossed that there is not too much inconsistency
for this to work.  It might take some fiddling with pg_resetxlog's
options to make it work.

Do *not* continue working with the cluster after pg_resetxlog has been run.

Read the documentation.

Yours,
Laurenz Albe

pgsql-admin by date:

Previous
From: Thomas SIMON
Date:
Subject: Re: Root partition full of files in /var/lib/postgresql/9.1/main/pg_xlog
Next
From: "Greg Sabino Mullane"
Date:
Subject: Re: DBD::Pg requires at least protocol version 3.0