OSS-DB技術者認定試験 Silver

問題 (2018年4月25日)

UPDATE文を発行したとき、以下のエラーが発生した。このトランザクションに対して設定した分離レベルとして正しいものはどれか。選択せよ。

ERROR: could not serialize access due to concurrent update

× 不正解です

【解説】 PostgreSQLが実際に振る舞う分離性は、Read committedと Serializableの2つです。分離性を Read uncommittedにすると、Read commitedの振る舞い、Repeatable readを設定すると Serializableの振る舞いをします。
分離レベルがSerializableの場合、片方のトランザクションのコミット結果が、他方のトランザクションから見えないため、場合によりデータベースの整合性に矛盾が生じる可能性があります。PostgreSQLでは後発のトランザクションを自動的にロールバックさせて、矛盾を回避します。

Copyright(c) 2011-2018 NTT Software Corporation All rights reserved.
ITトレメの問題や解答、サービスに関するお問い合せはこちらまで
RSSフィード
@IT自分戦略研究所フォーラム 新着記事
- PR -