我有一个正在导入的数据库,它对于一个为null的字段有一个唯一的索引。在PostgreSQL 13中,这不是一个问题,但在14中,它允许导入的时间更长,因为null不再是null,而是一个值。
是否存在将null视为应该而不是作为值对待的设置?
发布于 2022-09-13 15:12:20
PostgreSQL v14中的行为没有改变。如果导入在数据库中不起作用,唯一可能的解释是您在一个数据库中定义了列NOT NULL,而在另一个数据库中没有定义该列(或者使用了类似的check约束)。
PostgreSQL v15为唯一约束引入了这个符合标准的附加子句:
UNIQUE NULLS [NOT] DISTINCT如果您用NULLS NOT DISTINCT在v15中定义了唯一约束,那么它的行为将与以前的版本不同。但是,缺省值仍然是UNIQUE NULLS DISTINCT。
https://stackoverflow.com/questions/73704764
复制相似问题