Bytea в фактическое текстовое значение в postgresql

У меня есть таблица для хранения информации о файле в postgresql.

select id,filestream,name from Table_file_info

введите здесь описание изображения

Здесь filestream — это bytea тип данных. Как преобразовать данные bytea в фактический текст (содержимое моего файла) в postgresql.

Я попытался с запросом ниже:

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

но я получаю, как показано ниже

ICAgICAgICAgc2FkZnNhZGZhZCBzZGRkZGRkZGRkIFRlc3R0dA==

фактическое содержимое моего файла: sadfsadfad sdddddddd Testtt введите здесь описание изображения


person Jagadeesh    schedule 26.02.2020    source источник
comment
Используйте convert_from(filestream, 'utf-8'), предполагая, что ваш текст utf-8.   -  person freakish    schedule 26.02.2020


Ответы (1)


Похоже на base64. Это означает, что ваш файл был сначала преобразован в base64, а затем преобразован в bytea (что бессмысленно, поскольку base64 уже является текстом)

select encode(decode(encode(filestream,'escape'),'base64'),'escape') from Table_file_info;
person jjanes    schedule 26.02.2020