[pgsql-jp: 41491] Re: WALのarchiveファイル削除について

yokota yokota @ passlogy.com
2013年 8月 16日 (金) 18:09:12 JST


返信ありがとうございます。

archive_cleanup_commandは、ストリーミングレプリケーションのスタンバイ
サーバでのみ実行されるとのこと。
「スタンバイサーバでなければ実行されない」ことが読み取れていませんでした。
有難うございます。

外部ツールについてはまだこれから調べてみます。

取り急ぎ御礼を。


横田


(2013/08/16 16:33), MauMau wrote:
> MauMauといいます。
>
> archive_cleanup_commandは、レプリケーションのスタンバイサーバで実行さ
> れます。
> (レプリケーションではない)PITRでは実行されません。
> これはマニュアルの次のページに書かれています。
>
> http://www.postgresql.jp/document/9.2/html/archive-recovery-settings.html
>
> [抜粋]
> このオプションのパラメータは、すべてのリスタートポイントで実行される
> シェルコマンドを指定します。 archive_cleanup_command の目的は、スタン
> バイサーバにとって必要と されない古いアーカイブWALファイルをクリーン
> アップする仕組みを提供することです。
>
>
> 不要な古いアーカイブログを消すのは、リカバリのときでなく、データベース
> をバックアップしたときです。
> バックアップを使ってリカバリするには、そのバックアップを取得した時点以
> 降のWALが必要です。
> つまり、それより古いアーカイブログは不要となります。
> バックアップを取得した時点のWALファイル名は、pg_start_backup()や
> pg_basebackupによって作られる
> バックアップ履歴ファイル(*.backup)やbackup_labelというファイルの
> "START WAL LOCATION"行に書かれています。
>
> Barmanやpg_rmanというバックアップ/リカバリ用の外部ツールなら、
> バックアップを採取したときに自動的に古いWALを削除してくれるかもしれま
> せん。
> 調べてみてください。
>
>
>
> 以上
>
>
> ----- Original Message ----- From: "yokota" <yokota @ passlogy.com>
> To: <pgsql-jp @ ml.postgresql.jp>
> Sent: Friday, August 16, 2013 3:35 PM
> Subject: [pgsql-jp: 41488] WALのarchiveファイル削除について
>
>
>> 横田と申します。
>>
>> WALのarchiveファイルの削除についてお教え下さい。
>>
>> PITRで復旧させる際、recovery.confに
>> --------------------------------
>> restore_command = 'cp /var/lib/pgsql/archives/%f %p'
>> archive_cleanup_command = '/usr/bin/pg_archivecleanup
>> /var/lib/pgsql/archives/ %r'
>> recovery_end_command = 'echo "recovery_end_commnd" >> /tmp/recoveryDONE'
>> --------------------------------
>> と書いています。
>> 復旧自体は成功しますが、archive_cleanup_commandだけが実行されません。
>>
>> archive_cleanup_commandを実行するには、設定等何か準備が必要でしょうか。
>>
>> 環境はCentOS6.4、postgresql-9.2.4のソースからコンパイルしています。
>> (Fedora19 + postgresql-9.2.4-1.fc19.x86_64.rpmで同じことをしても、
>> archive_cleanup_commandは実行されませんでした。)
>>
>> また、定期的にarchiveファイルを削除するための一般的な方法、スクリプト等
>> はありますでしょうか。
>



pgsql-jp メーリングリストの案内