2012-03-17 1607 views
0

我有一列,它是在Postgres的BYTEA,我可以用這樣的語句來得到這樣的輸出:PostgreSQL的 - 如何BYTEA文本或字符串轉換在Java中

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

,並得到:

254\355\000?sr\000?java.util.HashMap??\332\301\303?`\321?\000?F\000 
loadFactorI\000 [email protected]\000\000\000\000\000?w?\000\000\000?\000\000\000?t\000?  
userIdt\000 
USER2200000x 

如何以純文本形式查看此內容?它確實存儲了一個java.util.HashMap-

回答

3

這實際上是一個Java問題,而不是PostgreSQL問題。 personTable.mycolumn持有使用Java序列化API創建的字節字符串,並且檢索字節字符串表示的原始對象,則需要使用相同的API。 (請參閱"Discover the secrets of the Java Serialization API"的示例代碼。)

+0

好的,這是有道理的,應用程序正在保存序列化的對象,我只是沒有意識到沒有辦法看到postgres中的純文本。謝謝! – chrismarx 2012-03-17 20:45:04

+0

@chrismarx:不客氣! – ruakh 2012-03-17 20:46:15

+0

你是如何解決問題的?我也想將一個字節的postgres轉換爲Java String。請在這裏看到我的問題http://dba.stackexchange.com/questions/53309/how-to-convert-bytea-to-text-value-in-postgres – aProgrammer 2013-11-14 14:41:13

相關問題