PostgreSQL 9.6データベースを設定して、pg_xlogフォルダのサイズを制限しようとしています。私はこの問題やそれに類するものについて多くのスレッドを読んだことがありますが、何も助けなかった。pg_xlogの自動クリーニングを有効にする方法
私は自分のPostgreSQL 9.6サービスインスタンス用のセットアップスクリプトを書いています。 initdbを実行し、Windowsサービスを登録し、起動し、空のデータベースを作成し、ダンプをデータベースに復元します。スクリプトが完了した後、データベース構造は正常ですが、データはそこにありますが、xlogフォルダにはすでに55ファイル(880MB)が含まれています。
wal_keep_segmentsを0または1に設定し、max_wal_sizeを200mbに設定し、checkpoint_timeoutを減らし、archive_modeをオフにし、archive_commandを空の文字列に設定しました。私はpg_settingsを問い合わせるときにプロパティが正しく設定されているのがわかります。
私はSQLを使ってチェックポイントを強制し、データベースを空にし、Windowsサービスを再起動し、pg_archivecleanupを試しました。私のxlogフォルダは50ファイル(800メガバイト)に縮小されました。
私は他に何を試すのか分からない。誰かが私が間違っていることを教えてもらえれば、とても感謝しています。より多くの情報が必要な場合は、私はそれを提供してうれしいです。
感謝
忍耐力が必要とされているようです。データベースを作成する前に、 'ALTER SYSTEM SET max_wal_size = 20'を含むようにインストールスクリプトを修正しました。この方法で、px_logフォルダは320 MBを超えません。あなたの答えは正しい経路で私を送ったので、私はそれをチェックした。 – Ggilmann
ちょうど私もSQLを介して設定をリロードしなければならないことを認識しました 'SELECT pg_reload_conf()' – Ggilmann