誰でもPostgreSQL 9.5のpg_xlogを自動的にクリーンアップする方法を知っていますか? レプリケーションディスクを有効にしてから2週間、200Gまでの容量が満杯になりました。だから私は、次のコマンドを使用して手動でクリーニング:もちろん自動クリーニングpg_xlog
sudo service portgesql stop
sudo /usr/lib/postgresql/9.5/bin/pg_controldata /var/lib/postgresql/9.5/main/ | grep Next | grep -v Multi
sudo -u postgres /usr/lib/postgresql/9.5/bin/pg_resetxlog -o 44842 -x 575323138 -f /var/lib/postgresql/9.5/main/
sudo service portgesql start
を私はbashスクリプトでそれを自動化することができますが、ここでの問題は、PotgreSQLを停止する必要があるということです。 PostgreSQLを停止することなくこれをクリーニングする他の方法はありますか?
回答ありがとうございます。ウォール・キープ・セグメントは5000に設定されています。これをクリーニングした不明な理由で、ほぼ10000個のアイテムがありました。したがって、これは9.5では動作しないように見えます。 – Ilya
私はレプリケーション設定をリセットし、レプリケーションスロットを追加して 'ウォール・キープ・セグメント'を削除しました。 pg_xlogディレクトリにある約10個のファイルだけが空のサイズまで成長しません=)P.S.はい、プロダクションであり、pgdumpから最新のデータを復元する必要がありました。それはそれをきれいにする良い考えではなかった:) – Ilya
それは素晴らしいニュースです。 – d1ll1nger