我们决定从我们的PostgreSQL 9.0数据库中的OID
中移出,并使用bytea
列代替。我试图将数据从一列复制到另一列,但我无法弄清楚正确的查询。这是我已经得到了最靠近:PostgreSQL:从OID到Bytea
update user as thistable set pkcs_as_bytea = (select array_agg(mylargeobject.data) from
(select * from pg_largeobject where loid = thistable.pkcs12_as_oid order by pageno) as mylargeobject) where thistable.pkcs12 is not null
这给了我以下错误消息:
ERROR: column "pkcs_as_bytea" is of type bytea but expression is of type bytea[]
什么是正确的查询呢?
`array_agg()`返回一个数组,所以错误信息是有道理的。你为什么认为你需要在那里聚合字节? – 2011-02-18 12:42:23
我需要将不同oid行上的blob合并到一个列中。有没有更好的方法来做到这一点? – malaverdiere 2011-02-21 04:37:49