テーブルを SQL ファイルにダンプするために pg_dump を実行すると、テーブルの最後の行のスナップショットが取得され、この行までのすべての行がダンプされますか?
それとも、pg_dump の実行後に挿入されたものも含め、すべての行をダンプし続けますか?
二次的な質問: pg_dump を実行する前にすべての挿入クエリを停止するのは良い考えですか?
テーブルを SQL ファイルにダンプするために pg_dump を実行すると、テーブルの最後の行のスナップショットが取得され、この行までのすべての行がダンプされますか?
それとも、pg_dump の実行後に挿入されたものも含め、すべての行をダンプし続けますか?
二次的な質問: pg_dump を実行する前にすべての挿入クエリを停止するのは良い考えですか?
pg_dump を実行すると、テーブルの共有ロックが取得されます。ダンプの実行後に完了したトランザクションは含まれません。そのため、ダンプが終了したときに、コミットされていない進行中の現在のトランザクションがある場合、それらはダンプに含まれません。
これを実行できる別のパラメーターがあります
--lock-wait-timeout=timeout ダンプの開始時に共有テーブル ロックを取得するのを永久に待機しません。代わりに、指定されたタイムアウト内にテーブルをロックできない場合は失敗します。タイムアウトは、SET statement_timeout で受け入れられる任意の形式で指定できます。(許可される値は、ダンプ元のサーバーのバージョンによって異なりますが、整数のミリ秒数は 7.3 以降のすべてのバージョンで受け入れられます。7.3 より前のサーバーからダンプする場合、このオプションは無視されます。)**