Bytea 到 postgresql 中的实际文本值

Bytea to actual text value in postgresql

我有一个table用来在postgresql中存储文件信息。

select id,filestream,name from Table_file_info

这里 filestreambytea 数据类型。如何将 bytea 数据转换为 postgresql 中的实际文本(我的文件的内容)。

我尝试了以下查询:

select encode(filestream, 'escape')::text as name from Table_file_info

但我得到的结果如下

ICAgICAgICAgc2FkZnNhZGZhZCBzZGRkZGRkZGRkIFRlc3R0dA==

我文件的实际内容是:sadfsadfad sdddddddddd Testtt

看起来像base64。这意味着您的文件首先转换为 base64,然后转换为 bytea(这有点毫无意义,因为 base64 已经是文本)

select encode(decode(encode(filestream,'escape'),'base64'),'escape') from Table_file_info;