2012-03-17 2 views
2

xid (트랜잭션 ID 유형) 열을 테이블에서 고유하게 설정하는 방법을 찾을 수 없습니다. 그것은 btree에 대한 클래스 메소드가 없다는 것에 대해 불평하고 그것을 해결하는 방법을 모른다.테이블의 고유 항목으로 XID를 사용하는 PostgreSQL

이것은 PostgreSQL 9.0을 사용하고 있습니다.

이 포럼이나 인터넷에서 비슷한 질문을 찾을 수 없습니다. :-(

답변

4

이유는 (다른 사람의 사이에서) 데이터 형식 xid에 대해 정의 된 <> 운영자가 없다는 것입니다보십시오..

SELECT '123'::xid <> '123'::xid 

실패
당신은 같은 고유 인덱스를 추가하여이 제한을 회피 할 수 이 :

CREATE UNIQUE INDEX tbl_xid_col_uni_idx 
ON tbl (cast(cast(xid_col AS text) AS int)); 
+0

감사합니다. –

관련 문제