当我在表上添加排除约束以防止在 int[] 中具有相同值的两行时,我收到以下错误消息:
数据类型 Integer[] 没有用于访问方法 "gist" 的默认运算符类
我有一张这样的桌子:
CREATE TABLE x (
id SERIAL PRIMARY KEY,
ref_id INT REFERENCES x,
purchase_ids INT[],
EXCLUDE USING GIST(purchase_ids WITH &&) WHERE(ref_id IS NULL)
);
我的同事通过创建一个扩展来解决这个问题:
CREATE EXTENSION IF NOT EXISTS intarray;
创建此扩展后,我可以添加排除约束以防止数组中具有相同元素的两行。