CentOS7.2でpostgreSQL9.6.0を実行しています。 /var
がいっぱいになるのを防ぐために、データをより大きなテーブルスペースにシフトする必要がある場合があります。これが実行されているとき、pg_xlog
ディレクトリは急速に大きくなり、回復は非常に遅くなります。その後、定期的なCHECKPOINT
は、xlogのクリーンアップを実行に移すのに役立ちます。ただし、この面倒な作業により、短時間でシフトできるデータの量が大幅に制限されます。データベースはさまざまなデータソースからの継続的な長時間実行コレクションを記録するため、アップグレードと再起動は非常に注意が必要です。
私の直感では、SET TABLESPACE
はWALからの更新がコミットされないようにしますが、これはあまり意味がありません...
どんな助けや洞察も大歓迎です!
表を新しい表スペースに移動し、wal_levelが「最小」より上にある場合、表の内容全体がWALストリームにコピーされます。そのため、pg_xlogは急速に成長します。ゆっくりと縮小するのは、単にarchive_commandが追いつかず、アーカイブがオンになっている場合はアーカイブされるまでWALファイルを削除できないためである可能性があります。 wal_level、archive_mode、およびarchive_commandの設定は何ですか?