RDB

メタデータロック

テーブルに存在するメタデータ(テーブルのスキーマについてのデータ)に対するロックのこと。 DML (更新・参照)は共有ロックを行い、 DDL (スキーマ変更)は排他ロックを行う。 トランザクションはそれが終了するまで触ったテーブルの共有ロックを解法しないので、 alter table add column の際などでロック待ちが発生したりする。 PostgreSQL も MySQL も、基本的にこのような実装になっている模様。