我将图像存储在Postgresql的Bytea数据类型中,我确实不明白这是不推荐的,但我确实认为将图像组织起来的好处是我使用的不利之处。我面临的问题是我想确保只插入唯一的图像,但是当我创建一个唯一的约束时,我得到以下错误
错误:索引行需要28120个字节,最大大小为8191
如何在将图像插入Postgresql的bytea数据类型时检查唯一性?
答案 0 :(得分:4)
在摘要上创建唯一索引:
CREATE UNIQUE INDEX idx_image_hash ON images (digest(img, 'sha1'));
这假设您已安装pgcrypto扩展程序:
CREATE EXTENSION pgcrypto;