Postgresql

时间:2017-10-21 01:56:01

标签: postgresql

我将图像存储在Postgresql的Bytea数据类型中,我确实不明白这是不推荐的,但我确实认为将图像组织起来的好处是我使用的不利之处。我面临的问题是我想确保只插入唯一的图像,但是当我创建一个唯一的约束时,我得到以下错误

  

错误:索引行需要28120个字节,最大大小为8191

如何在将图像插入Postgresql的bytea数据类型时检查唯一性?

1 个答案:

答案 0 :(得分:4)

在摘要上创建唯一索引:

CREATE UNIQUE INDEX idx_image_hash ON images (digest(img, 'sha1'));

这假设您已安装pgcrypto扩展程序:

CREATE EXTENSION pgcrypto;