PostgreSQLのデータディレクトリのバックアップを自動化するためのPythonスクリプトを作成して、 "Continuous Archiving and Point-In-Time Recovery"を有効にしています。python tarfileでpostgresqlデータディレクトリをバックアップします。予期/無視するエラー
Pythons tarfileライブラリを使用してアーカイブを作成します。
データファイルがバックアップ中に変更される可能性があります。 。PostgreSQL manualを引用すると:彼らは ファイルが コピーが進む一方で変更をコピーしようとしている場合
をいくつかのファイルシステムのバックアップツールは 警告やエラーを発しますアクティブデータベースのバックアップ のバックアップをとるとき、この の状況は正常であり、エラーではありません。 ただし、 はこの 並べ替えの苦情と実際のエラーを区別できることを確認する必要があります。 タールはそれをコピーしている間にファイルが切り捨てられた場合
... GNUのtarの一部 のバージョンでは、致命的なエラー と区別できないエラー コードを返します。 GNU tarバージョン1.16以降は、 のバックアップ中にファイルが変更された場合は1、その他のエラーの場合は2で終了します( )。
データディレクトリからファイルをコピーするとき、Pythonではどのような例外が予想されますか?そして、エラーが重大であるかどうかをどのように判断できますか?
助けていただきありがとうございますが、このすべての部分を理解しました。私はちょうど最初のベースバックアップを行うためにPythonスクリプトを使用したい(私はすぐにリモートサーバーにストリームしたい)。私はちょうど "あなたがこの種の苦情と実際のエラーとを区別できるようにすること"を心配しています。私が実際にアーカイブしているWALファイル。 –
あなたができる最良のことは、Pythons tarfileが必要に応じて動作するかどうかをテストすることです。 – jordani
なぜ何かが動作する理由を知りたいのですが、特にPostgreSQLの考えられるすべての動作を再現することは容易ではないと思います –