Thread: Root partition full of files in /var/lib/postgresql/9.1/main/pg_xlog

Root partition full of files in /var/lib/postgresql/9.1/main/pg_xlog

From
Ed Tarento
Date:
Hi admins
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

I hope you can help
Thanks

Re: Root partition full of files in /var/lib/postgresql/9.1/main/pg_xlog

From
Thomas SIMON
Date:
Hi,

Have you defined an archive_command ?
What is your value for checkpoint_segments, checkpoint_timeout &
checkpoint_completion_target ?

Thomas

Le 26/08/2013 05:10, Ed Tarento a écrit :
> Hi admins
> 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
>
> I hope you can help
> Thanks



Re: Root partition full of files in /var/lib/postgresql/9.1/main/pg_xlog

From
Albe Laurenz
Date:
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