是否有充分的理由在PostgreSQL中插入HEX作为BYTEA?

问题描述 投票:1回答:1

我从文档中找到了this

...二进制字符串特别允许存储值为零的八位字节和...范围在32到126之外的八位字节...

对我来说,听起来没有理由使用BYTEA存储HEX值?仍然有很多人似乎使用BYTEA ...... like这个:

013d7d16d7ad4fefb61bd95b765c8ceb
007687fc64b746569616414b78c81ef1

有这么好的理由吗?

postgresql postgresql-9.6
1个回答
0
投票

有三个很好的理由:

  1. 它将需要更少的存储空间,因为两个十六进制数字存储为一个字节。
  2. 它会自动检查值的正确性: SELECT decode('0102ABCDNONSENSE', 'hex'); ERROR: invalid hexadecimal digit: "N"
  3. 如果API支持,您可以存储和检索二进制数据,而无需将其转换为文本。
© www.soinside.com 2019 - 2024. All rights reserved.