PostgreSQL의 여러 null 가능 컬럼에서 고유 제한 조건을 적용하는 가장 좋은 방법을 찾으려고합니다.PostgreSQL 온 전성 체크에서 다중 고유 부분 인덱스
이CREATE TABLE test_table
(
id serial NOT NULL,
col_a character varying(255),
col_b character varying(255),
col_c date,
col_d integer,
CONSTRAINT test_table_pkey PRIMARY KEY (id),
CONSTRAINT test_table_col_a_col_b_col_c_key UNIQUE (col_a , col_b , col_c)
);
col_a
, col_b
및 col_c
의 조합은 고유해야하지만 그들은 모두도 널 (NULL) :
다음 표를 고려.
unique(col_a, col_b) where col_c is null
unique(col_a, col_c) where col_b is null
unique(col_b, col_c) where col_a is null
unique(col_a) where col_b is null and col_c is null
unique(col_b) where col_a is null and col_c is null
unique(col_c) where col_a is null and col_b is null
이 할 수있는 '제정신'일 수 있습니다 : 고유 제한 조건을 적용 할
나의 현재 솔루션은 6 개 부분 인덱스 (아래 seudo 코드)를 만드는 것입니다? 중요한 성능 문제가 있습니까?