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

Dju*_* H. 3 postgresql unique database-schema postgresql-9.0

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

这是使用 PostgreSQL 9.0。

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

Erw*_*ter 6

原因是没有<>为数据类型xid(除其他外)定义运算符。尝试:

SELECT '123'::xid <> '123'::xid
Run Code Online (Sandbox Code Playgroud)

失败。
您可以通过添加这样的唯一索引来规避此限制:

CREATE UNIQUE INDEX tbl_xid_col_uni_idx
ON tbl (cast(cast(xid_col AS text) AS int));
Run Code Online (Sandbox Code Playgroud)