我有一个字符串数组。字符串的每一行包含 1440 个"数字"。使用下面的代码程序运行良好,但是当我通过 pgAdmin 检查功能列时,它是空的。包含图像路径且是主键的列"图像"列已正确填充。如果我尝试将该功能保存到"图像"列中,则会出现错误,指出现在有足够的空间:
索引行大小 2896 超过索引的最大 2712
但是当我将数组保存到"功能"列中时,我认为这不是问题,因为我没有收到任何错误。
for imagePath in glob.glob(args["dataset"] + "/*.jpg"):
# Get the image
imageID = imagePath[imagePath.rfind("/") + 1:]
image = cv2.imread(imagePath)
# Find the features
features = cd.describe(image)
# Put the features into DB
features = [str(f) for f in features]
cursor.execute("insert into index (image,feature) values (%s,%s);", (imageID,features))
conn.commit()
conn.close()
更新:这似乎是一个与pgAdmin相关的问题,因为如果我获取该列,我会得到所有数字。
您在列上有一个索引,并且您正在尝试插入的数据对于该索引来说太宽。如果您不需要对该索引进行排序,切换到哈希索引可能是一个很好的解决方案,否则您需要重新考虑它。