sql >> データベース >  >> RDS >> PostgreSQL

PostgreSQLトランザクション分離READUNCOMMITTED

    PostgreSQLはダーティリードをサポートしていません(READ UNCOMMITTED )。 @a_horse_with_no_nameが指摘しているように、マニュアル 言う:

    これは、データベースがサポートされていない分離レベルをサポートされている最強のレベルとして扱わなければならないという標準のルールに適合しています。

    PostgreSQLで進行中のトランザクションからコミットされていないタプルを読み取るためのサポートされている方法はありません。主キーの重複値や一般的なカオスなどを取得できるとしたら、とにかくあまり役​​に立ちません。

    進行中のトランザクションが相互に通信し、影響を与えることができるいくつかの方法:

    • 共有クライアントアプリケーション経由(もちろん)
    • SEQUENCE (およびSERIAL )更新はコミット時ではなく、すぐに行われます
    • アドバイザリロック
    • 通常の行とテーブルのロックですが、READ COMMITTEDのルールの範囲内です 可視性
    • UNIQUE およびEXCLUSION 制約

    などのスーパーユーザー専用のデバッグ機能を使用して、コミットされていないタプルデータを表示することができます。 pageinspect 、ただし、データストアの内部を本当に理解している場合に限ります。データの回復とデバッグにのみ適しています。 16進出力の壁に複数のバージョンのデータが表示されます。



    1. Google Maps API v3:ズームレベルとマップセンターをユーザーが送信した場所に設定するにはどうすればよいですか?

    2. PostGISを使用して特定のポイントのn最近傍を検索しますか?

    3. SELECTINTOで使用した場合にNO_DATA_FOUND例外がスローされない

    4. 先週のデータを選択するMySQLクエリ?