小编Han*_*etz的帖子

如果操作是由带有 UPDATE CASCADE 的 FK 约束引起的,那么 FOR EACH STATEMENT 触发器多久执行一次?

我知道FOR EACH STATEMENT当我执行一个UPDATE t ....

现在,什么时候用t定义FOREIGN KEY ... REFERENCES a ... ON UPDATE CASCADE,我更新 N 行a,这会导致触发器被调用一次还是 N 次?

换句话说,对由 FK 约束级联的表的更改更像是单个UPDATE,还是更像是一系列UPDATEs?

postgresql trigger foreign-key postgresql-9.2

12
推荐指数
2
解决办法
1134
查看次数

(如何)表继承会干扰 postgres 中的锁定?

我有一个表继承设置,可以像这样简化:

CREATE TABLE p (
    id BIGSERIAL PRIMARY KEY,
    type_id BIGINT,
    approved BOOLEAN
);

CREATE INDEX ON p(approved);

CREATE TABLE a (
    a_field VARCHAR,
    PRIMARY KEY (id),
    CHECK(type_id = 1::BIGINT)
) INHERITS (p);

CREATE TABLE b (
    b_field INT,
    PRIMARY KEY (id),
    CHECK(type_id = 2::BIGINT)
) INHERITS (p);

CREATE INDEX ON b(approved);

CREATE TABLE c (
    c_field NUMERIC,
    PRIMARY KEY (id)
    -- this table is missing the check constraint (for no good reason)
) INHERITS (p);
Run Code Online (Sandbox Code Playgroud)

我现在有一个锁定 table 的长期运行事务a …

postgresql partitioning locking

6
推荐指数
1
解决办法
1725
查看次数