Обсуждение: What to do when pg_xlog directory has filled up the filesystem

Поиск
Список
Период
Сортировка

What to do when pg_xlog directory has filled up the filesystem

От
John Scalia
Дата:
Hi all,

Just curious about this issue as it has occurred on my 9.4.0 sandbox primary server. The link to the directory
specifiedin archive_command had disappeared, so the command  
specified in archive_command kept failing overnight. This resulted in many WAL segments piling up in the pg_xlog
directoryand a bunch of <wal name>.ready files appearing in the  
pg_xlog/archive.status directory. The filesystem had reached 100% full so the database quit and would not restart. I've
thoughtabout just moving some of the WAL segments  
temporarily to another filesystem, but which ones, oldest or newest? And is that really the best way to deal with this
orwhat is the best way to deal with this kind of issue? 
--
Jay


Re: What to do when pg_xlog directory has filled up the filesystem

От
Jeff Frost
Дата:
> On Jan 23, 2015, at 08:00, John Scalia <jayknowsunix@gmail.com> wrote:
>
> Hi all,
>
> Just curious about this issue as it has occurred on my 9.4.0 sandbox primary server. The link to the directory
specifiedin archive_command had disappeared, so the command specified in archive_command kept failing overnight. This
resultedin many WAL segments piling up in the pg_xlog directory and a bunch of <wal name>.ready files appearing in the
pg_xlog/archive.statusdirectory. The filesystem had reached 100% full so the database quit and would not restart. I've
thoughtabout just moving some of the WAL segments temporarily to another filesystem, but which ones, oldest or newest?
Andis that really the best way to deal with this or what is the best way to deal with this kind of issue? 

If you are on ext4, you can just:

tune2fs -m 0 /dev/sda1

Or whatever device you're talking about.

That will reset the reserved space to 0.

Then you can start up PostgreSQL and let it do the archiving. After it's done:

tune2fs -m 5 /dev/sda1

To put it back to the default.



Re: What to do when pg_xlog directory has filled up the filesystem

От
John Scalia
Дата:
On 1/23/2015 11:33 AM, Jeff Frost wrote:
>> On Jan 23, 2015, at 08:00, John Scalia <jayknowsunix@gmail.com> wrote:
>>
>> Hi all,
>>
>> Just curious about this issue as it has occurred on my 9.4.0 sandbox primary server. The link to the directory
specifiedin archive_command had disappeared, so the command specified in archive_command kept failing overnight. This
resultedin many WAL segments piling up in the pg_xlog directory and a bunch of <wal name>.ready files appearing in the
pg_xlog/archive.statusdirectory. The filesystem had reached 100% full so the database quit and would not restart. I've
thoughtabout just moving some of the WAL segments temporarily to another filesystem, but which ones, oldest or newest?
Andis that really the best way to deal with this or what is the best way to deal with this kind of issue? 
> If you are on ext4, you can just:
>
> tune2fs -m 0 /dev/sda1
>
> Or whatever device you're talking about.
>
> That will reset the reserved space to 0.
>
> Then you can start up PostgreSQL and let it do the archiving. After it's done:
>
> tune2fs -m 5 /dev/sda1
>
> To put it back to the default.
>
Thanks, Jeff!


Re: What to do when pg_xlog directory has filled up the filesystem

От
Cliff Pratt
Дата:
That works with ext3 too. 

Cheers,

Cliff

On Sat, Jan 24, 2015 at 5:33 AM, Jeff Frost <jeff@pgexperts.com> wrote:

> On Jan 23, 2015, at 08:00, John Scalia <jayknowsunix@gmail.com> wrote:
>
> Hi all,
>
> Just curious about this issue as it has occurred on my 9.4.0 sandbox primary server. The link to the directory specified in archive_command had disappeared, so the command specified in archive_command kept failing overnight. This resulted in many WAL segments piling up in the pg_xlog directory and a bunch of <wal name>.ready files appearing in the pg_xlog/archive.status directory. The filesystem had reached 100% full so the database quit and would not restart. I've thought about just moving some of the WAL segments temporarily to another filesystem, but which ones, oldest or newest? And is that really the best way to deal with this or what is the best way to deal with this kind of issue?

If you are on ext4, you can just:

tune2fs -m 0 /dev/sda1

Or whatever device you're talking about.

That will reset the reserved space to 0.

Then you can start up PostgreSQL and let it do the archiving. After it's done:

tune2fs -m 5 /dev/sda1

To put it back to the default.



--
Sent via pgsql-admin mailing list (pgsql-admin@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-admin