p.tatapa.org

p.tatapa.org

メモ: PostgreSQLでは宣言的パーティショニングをしたテーブルを参照する外部キー制約が書ける。

CREATE TABLE foo (
  id int PRIMARY KEY
) PARTITION BY RANGE (id);

CREATE TABLE foo_100 PARTITION OF foo FOR VALUES FROM (0) TO (100);

CREATE TABLE bar (
  id int PRIMARY KEY,
  foo_id int NOT NULL REFERENCES foo
);

INSERT INTO foo (id) VALUES (0);

INSERT INTO bar (id, foo_id) VALUES (0, 0); -- 制約を満たすので挿入できる。
INSERT INTO bar (id, foo_id) VALUES (1, 1); -- エラーとなる。

MySQLでは書けないはず。

https://dev.mysql.com/doc/refman/9.6/en/partitioning-limitations-storage-engines.html

replies
0
announces
0
likes
0