2017-07-06 9 views
0

PostgreSQLを自動チェックポイントにすることを無効にしたいと考えています。PostgreSQLがコントロールされていないチェックポイントを作成しないようにするには?

shared_bufferで行った変更を保存せずにディスク上のファイルをfsyncしたいだけです。

checkpoint_segmentscheckpoint_timeoutを大きな値に設定しましたが、それでも追加のチェックポイントがあります。

ページを交換する必要がなくてもメモリが不足していてもチェックポイントしたくないです。

答えて

0

は、チェックポイントのために他の原因があります。

  • 回復が完了しました(サーバーがクラッシュした後に起こる可能性があり)。
  • オンラインバックアップの開始。
  • データベースのシャットダウン。
  • CREATE DATABASEの前後。
  • DROP DATABASEの後。
  • ALTER DATABASE SET TABLESPACEの前後(おそらく毎日それをしないでください)。
  • DROP TABLESPACE(同上)。
  • もちろん、明示的なCHECKPOINTコマンドです。

–私が何かを忘れていないと、あなたが観察したチェックポイントを引き起こす可能性がありますか?

log_checkpointsonに設定すると、ログファイルには、checkpoint startingメッセージにチェックポイントの原因が表示されます。

チェックポイントを避けることをお勧めしますか?問題が発生した場合にデータベースを復旧できるようにするために必要です。

+0

私の考えでは、**データベースシャットダウン**がチェックポイントを引き起こしたと思います。私は**チェックポイント**を避けるための良いアイデアではないことを認識していますが、私が必要とするのは 'CHECKPOINT' **を手動で実行することだけです**と私は認識しています何か悪い(例えば、システムクラッシュ)すべてのアップデートが**失われている** ...これは可能ですか? (チェックポイントの "完全な制御"を持つ) – Johnny

+0

更新が失われるわけではありませんが、その回復には非常に時間がかかります(最後のチェックポイントを前にして)。あなたの 'pg_xlog'ディレクトリは非常に大きくなります。 'pg_xlog'から手動でファイルを削除すると、データベースが破壊されます。上記のチェックポイントを避ける方法はありません。 –

関連する問題