小编kho*_*vat的帖子

在 PostgreSQL 中的 CREATE TABLE 上检测到死锁

当检测到死锁时,我正在异步创建多个表。两张表(表 A 和 B)都与一张表(表 C)有 FK,并且我在与表 C 的关系上遇到了死锁。

脚本

CREATE TABLE "TableA"
(
  "Id" uuid NOT NULL,
  "TableCId" uuid NOT NULL,
  CONSTRAINT "PK_TableA_Id" PRIMARY KEY ("Id"),
  CONSTRAINT "FK_TableA_TableC" FOREIGN KEY ("TableCId")
      REFERENCES "TableC" ("Id") MATCH SIMPLE
      ON UPDATE NO ACTION ON DELETE NO ACTION
)
WITH (
  OIDS=FALSE
);

CREATE TABLE "TableB"
(
  "Id" uuid NOT NULL,
  "TableCId" uuid NOT NULL,
  CONSTRAINT "PK_TableB_Id" PRIMARY KEY ("Id"),
  CONSTRAINT "FK_TableB_TableC" FOREIGN KEY ("TableCId")
      REFERENCES "TableC" ("Id") MATCH SIMPLE
      ON UPDATE NO ACTION …
Run Code Online (Sandbox Code Playgroud)

postgresql deadlock transaction postgresql-9.3

4
推荐指数
1
解决办法
1944
查看次数