我从文件中找到了this:
... 二进制字符串特别允许存储值为零的八位字节和
... 范围32到126之外的八位字节。。。
对我来说,这听起来好像没有理由用BYTEA来存储十六进制值?仍然有很多人用茶水来做某事
013d7d16d7ad4fefb61bd95b765c8ceb
007687fc64b746569616414b78c81ef1
有充分的理由这样做吗?
最佳答案
有三个理由:
它将需要较少的存储空间,因为两个十六进制数字存储为一个字节。
它将自动检查该值的正确性:
SELECT decode('0102ABCDNONSENSE', 'hex');
ERROR: invalid hexadecimal digit: "N"
如果API支持,则可以存储和检索二进制数据,而无需将它们从文本转换为文本。