0

postgres 9.1 では、このクエリにはテーブル ロックが必要ですか? (他のクライアントが書き込み、または書き込みと読み取りを禁止する)

ALTER TABLE "foos" ADD COLUMN "bar" boolean DEFAULT 'f'

なる場合と当たらない場合があるのでは?

デフォルト値では遅くなりますか?

テーブルをロックする場合、テーブル内のすべての行に対しても操作する必要がありますか? それとも、ロックは一瞬だけ保持されますか?

テーブルをロックするクエリとロックしないクエリの種類に関する詳細はどこで確認できますか?

4

1 に答える 1

1

はい、変更中にテーブルをロックします。

  • テーブルが大きく、データ行が多い場合、これにはかなりの時間がかかる場合があります。
  • 現在、別の接続がテーブルに対して優先度の高いロックを保持している場合、このアクションはロックがクリアされるまで待機します。

PostgreSQL 9.1 の詳細については、優れたオンライン ドキュメント、特にALTER TABLEのセクションを確認してください。

また、ここに関連する質問がありますが、MySQL の場合です。PostgreSQL に適用できるいくつかのヒントとコツを提供します。

于 2012-12-05T17:50:58.093 に答える