У меня есть текстовый файл с несколькими строками шестнадцатеричного в нем:
013d7d16d7ad4fefb61bd95b765c8ceb
007687fc64b746569616414b78c81ef1
Я хотел бы сохранить их в базе данных как bytea, а не varchar. То есть, я хотел бы, чтобы база данных сохраняла 01 как единственный байт 00000001, а не символы '0' и '1'.
Я могу легко запустить этот файл через sed, чтобы форматировать/бежать так, как мне нужно.
Вот что я пробовал:
create table mytable (testcol BYTEA);
Это работает:
insert into mytable (testcol) values (E'\x7f\x7f');
Однако, как только у меня есть байт, который выше \x7f, я получаю эту ошибку:
insert into mytable (testcol) values (E'\x7f\x80');
ERROR: invalid byte sequence for encoding "UTF8": 0x80
Любые идеи, или я не ошибаюсь?