web-dev-qa-db-ja.com

postgrespg_xlogは表領域の設定中に爆発します

CentOS7.2でpostgreSQL9.6.0を実行しています。 /varがいっぱいになるのを防ぐために、データをより大きなテーブルスペースにシフトする必要がある場合があります。これが実行されているとき、pg_xlogディレクトリは急速に大きくなり、回復は非常に遅くなります。その後、定期的なCHECKPOINTは、xlogのクリーンアップを実行に移すのに役立ちます。ただし、この面倒な作業により、短時間でシフトできるデータの量が大幅に制限されます。データベースはさまざまなデータソースからの継続的な長時間実行コレクションを記録するため、アップグレードと再起動は非常に注意が必要です。

私の直感では、SET TABLESPACEはWALからの更新がコミットされないようにしますが、これはあまり意味がありません...

どんな助けや洞察も大歓迎です!

1
simonw

表を新しい表スペースに移動し、wal_levelが「最小」より上にある場合、表の内容全体がWALストリームにコピーされます。そのため、pg_xlogは急速に成長します。ゆっくりと縮小するのは、単にarchive_commandが追いつかず、アーカイブがオンになっている場合はアーカイブされるまでWALファイルを削除できないためである可能性があります。 wal_level、archive_mode、およびarchive_commandの設定は何ですか?

1
jjanes