Есть ли веская причина для вставки HEX как BYTEA в PostgreSQL? - PullRequest
0 голосов
/ 13 сентября 2018

Я нашел это из документации:

... двоичные строки специально позволяют хранить октеты с нулевым значением и ... октеты вне диапазона от 32 до 126 ...

Мне кажется, что нет смысла использовать BYTEA для хранения значения HEX? Тем не менее, многие люди используют BYTEA для чего-то другого. как это:

013d7d16d7ad4fefb61bd95b765c8ceb
007687fc64b746569616414b78c81ef1

Есть ли веская причина для этого?

1 Ответ

0 голосов
/ 14 сентября 2018

Существует три веские причины:

  1. Это потребует меньше места для хранения, поскольку две шестнадцатеричные цифры хранятся в виде одного байта.

  2. Он автоматически проверит правильность значения:

    SELECT decode('0102ABCDNONSENSE', 'hex');
    ERROR:  invalid hexadecimal digit: "N"
    
  3. Вы можете хранить и извлекать двоичные данные, не преобразовывая их из и в текст, если ваш API его поддерживает.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...