PostgreSQL:Python无法保存字符串数组



我有一个字符串数组。字符串的每一行包含 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相关的问题,因为如果我获取该列,我会得到所有数字。

您在列上有一个索引,并且您正在尝试插入的数据对于该索引来说太宽。如果您不需要对该索引进行排序,切换到哈希索引可能是一个很好的解决方案,否则您需要重新考虑它。

最新更新