私はPostgreSQLのクラッシュリカバリメカニズムを回っていましたが、これが私にヒットしました。 WALロギングでは、トランザクションSTARTでは、クエリに基づいて、WALバッファにXLOGレコードが格納されます。トランザクションCOMMITでは、WALバッファがフラッシュされます。今、私は一連の挿入でトランザクションを開始すると仮定します。既存のWALセグメントがいっぱいになると、新しいセグメントが作成されます。しかし、何が起こるか、私は大量のデータや何か(例えば4〜5GB)を一括して挿入またはコピーすると、トランザクションがコミットする前にWALバッファ(1〜2GB)がいっぱいになるでしょうか?この場合、WALはどうなりますか?トランザクションがコミットする前にWALバッファがいっぱいになる
1
A
答えて
3
WALバッファがいっぱいになると、それらはディスクにフラッシュされます。 WALバッファは、トランザクションがコミットされたときにのみフラッシュできます。重要なことは、トランザクションがコミットされたと報告される前に、トランザクションに関するすべてのWALレコードがフラッシュされることです(同期コミットを前提とします)。しかし逆の場合は当てはまりません。トランザクションがコミットされる前にWALレコードをフラッシュできます。
関連する問題
- 1. CFRunLoopノンブロッキングでバッファがいっぱいになるのを待つ
- 2. メモリがいっぱいになる前にシステムスワップ
- 3. ドッカーディスクがいっぱいになった
- 4. ディスクがいっぱいになる前にプロセスを一時停止する
- 5. メモリがいっぱいになるまでメモリがいっぱいになるまで
- 6. SocketAsyncEventArgsバッファがゼロでいっぱいです
- 7. sidekiqトランザクションが完了する前にdbにコミットするには?
- 8. ガードビューがいっぱいになるとロードがフリーズします
- 9. アンドロイド:カーソルウィンドウがいっぱいになっている
- 10. EditTextがいっぱいになるようにします。
- 11. ストレージがいっぱいになるのはなぜですか?
- 12. Djangoはトランザクションが終了する前にデータベースにコミットします
- 13. TCP TXバッファがいっぱいになると、boost :: asioはどうなりますか?
- 14. C++ TCPウィンドウがいっぱいになっていますか?
- 15. ScrollViewがいっぱいになると自動的にスクロール
- 16. SSISで高速アップロード中にログがいっぱいになる
- 17. WPFデータグリッドが不均一なデータでいっぱいになる
- 18. エンティティフレームワークでトランザクションがコミットされない
- 19. c#listboxがいっぱいでない
- 20. Webscraping:データフレームがいっぱいでない
- 21. CSSプログレストラッカーがいっぱいになっていません
- 22. PostgreSQLのログファイルがディスクいっぱいになるのを防ぐ
- 23. UI Dispatcherメッセージキューがいっぱいになる
- 24. /tmpファイルがsurefiresファイルでいっぱいになる
- 25. Rails:末尾の空白でファイルがいっぱいになる
- 26. アトムソースに構文エラーがいっぱい
- 27. プライマリファイルグループがいっぱい
- 28. UITableviewcellの幅が画面いっぱいにならない
- 29. NServiceBusタイムアウトディスパッチャキューにストレステスト中にメッセージがいっぱいになっています
- 30. Javascriptスタックがいっぱいになったときを知るには?
WALバッファをディスクにフラッシュしてトランザクションをロールバックするとどうなりますか?その場合、ロールバック・トランザクションに関連するログはどのように削除されますか? – user4658312
これらは削除されません。しかし、WALには、受信側で再生されるトランザクションがコミットされた(clog)かどうかに関する情報も含まれています。 –