シンプル:
BEGIN;
DROP TABLE a;
ALTER TABLE a1 RENAME TO a;
COMMIT;
DROP TABLE
ACCESS EXCLUSIVE
を取得します とにかくテーブルをロックします。明示的なLOCK
コマンドは良くありません。そして、死んだ男の名前を変更するのは時間の無駄です。
準備中に古いテーブルを書き込みロックすることをお勧めします 新しい、間に書き込みを防ぐため。次に、プロセスの早い段階で次のようなロックを発行します。
LOCK TABLE a IN SHARE MODE;
テーブルにアクセスしようとする同時トランザクションはどうなりますか?それほど単純ではありません。これを読んでください:
次のようなエラーメッセージが表示される理由を説明します: