PostgreSQL使用XID作为表中的唯一条目

时间:2012-03-17 05:30:50

标签: postgresql unique database-schema postgresql-9.0

我无法找到如何将xid(事务ID类型)列设置为在表中唯一。它抱怨btree缺少类方法,我不知道如何绕过它。

这是使用PostgreSQL 9.0。

无法在这些论坛或互联网上找到任何类似的问题。 : - (

1 个答案:

答案 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));