У меня есть текстовый файл с несколькими шестнадцатеричными строками:
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
Есть какие-нибудь идеи, или я не так подхожу?