Шпаргалка: извлечь текст из поля bytea (binary) в PostgreSQL

Cитуация: поле в таблице имеет тип bytea (бинарные данные), но вы точно знаете, что внутри него хранится обычный текст (например, из-за ошибки проектирования или legacy-системы).

НЕ используйте ::text — он покажет шестнадцатеричный код (\x48656C6C6F), а не исходный текст.

Т.е. пример выше не улучшит ситуацию, т.к. текст останется не читаемым.

Правильный способ — функция convert_from() с указанием кодировки:

Примеры наиболее распространенных кодировок

UTF-8Современные системы, веб, Linux (по умолчанию)convert_from(value, 'UTF8')
WIN1251Старые Windows-приложения, кириллица (1С, Access)convert_from(value, 'WIN1251')
KOI8Очень старые UNIX-системыconvert_from(value, 'KOI8')
LATIN1Западноевропейские языки (ISO-8859-1)convert_from(value, 'LATIN1')

Мало букафф? Читайте есчо !

Перенос базы PostgreSQL с сервера на сервер

Январь 24, 2017 г.

Не простая операция,  если вы не имели опыта настройки / работы с postgresql до сих пор. Расскажу поэтапно как выгрузить дамп базы, и как затем этот дамп ...

Читать

Команды консоли PostgreSql

Апрель 18, 2017 г.

Небольшая шпаргалка по работе в консоли postgreSQL. Чтобы полноценно работать с консолью, лучше всего переключиться на супер-юзера базы данных. ...

Читать

Экспорт данных из PostgreSQL в MySQL

Март 19, 2017 г.

Можно действовать разными способами, в зависимости от ситуации. Мне требовалось вытащить данные из проекта на Python/Django/PostgreSQL, чтобы потом экспортировать ...

Читать
 

Комментарии к «Шпаргалка: извлечь текст из поля bytea (binary) в PostgreSQL»

Понравилась статья? Есть вопросы? - пишите в комментариях.



Комментарий: