안녕하세요. 눈팅만 하다 궁금한 것이 있을 때마다 글을 올리게 되어 죄송한 마음입니다.
현재 postgresql-9.2.4 를 사용중 입니다.
테이블에 데이터가 약 400만개 정도 있는 상황입니다.
특정 컬럼 하나에 unique index 가 생성되어 있습니다.
해당 인덱스를 reindex 명령을 하니... 중복된 값이 있다고... reindex가 실패하였습니다.
이 상황이 어떤 시나리오로 가능할가요???
sql server에는 중복된 데이터가 있어도 unique 제약조건을 걸 수 있고, 이후 입력되는 값만 중복 유무를 검사하는 옵션이 있는 것을 사용해 본적이 있어서...
비슷한 경우인가 싶어 create index 구문 문법을 봐도 비슷한 경우를 못찾겠네요.
혹시 비슷한 경험이 있으신 분들 계신가요??
p.s.
reindex를 실패했을 당시 중복되었다는 값으로 select를 해보았지만, 1 row 를 리턴합니다.
index를 drop 하고 non-unique index를 생성한 다음 select를 했는데.. 실제 중복된 값이 있었습니다.
위 작업 전에... enable_indexscan = false 로 한 경우는 중복열이 출력되고, enable_indexscan = true 로 한 경우 1 row 만 리턴한 것으로 보아...
인덱스에서 어떤 문제가 발생했을 법한데...
unique index가 생성되어 있는 경우에도 중복열이 입력 혹은 updqte 가 될 수 있는 상황이 있을가요? |