gpt4 book ai didi

Django postgres 约束 EXCLUDE WITH GIST

转载 作者:行者123 更新时间:2023-11-29 14:31:37 28 4
gpt4 key购买 nike

我创建了一个时间字段如下:

start_date = models.DateField()
end_date = models.DateField()

尝试在表上创建约束时

 ALTER TABLE analytics
EXCLUDE USING gist (campaign WITH =, tstzrange(start_date, end_date) WITH &&)

我得到一个错误

ERROR:  functions in index expression must be marked IMMUTABLE

有谁知道如何解决这个问题?

最佳答案

您正在将 date 转换为 timestamp with timezone 并且该函数不是不可变的,而是稳定的。之所以如此,是因为对于传递的相同参数,它不会总是给出相同的结果。

我在这里看到 2 个选项:

1) 更改约束以使用日期范围(或不带时区的时间戳):

EXCLUDE USING gist (campaign WITH =, daterange(start_date, end_date) WITH &&)

2) 将表中那些字段的类型更改为timestamptz

关于Django postgres 约束 EXCLUDE WITH GIST,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50909662/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com