0

我在 postgres 中有一个 bytea 列,我可以使用这样的语句来获得这种输出:

select encode(mycolumn,'escape') from personTable;

并得到:

254\355\000?sr\000?java.util.HashMap??\332\301\303?`\321?\000?F\000
loadFactorI\000 thresholdxp?@\000\000\000\000\000?w?\000\000\000?\000\000\000?t\000?      
userIdt\000
USER2200000x

我怎么会在纯文本中看到这个?它确实存储了一个 java.util.HashMap-

4

1 回答 1

5

这实际上是一个 Java 问题而不是 PostgreSQL 问题。personTable.mycolumn保存使用 Java 序列化 API 创建的字节字符串,并且要检索字节字符串表示的原始对象,您需要使用相同的 API。(有关示例代码,请参阅“发现 Java 序列化 API 的秘密” 。)

于 2012-03-17T14:10:34.147 回答