作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试将 bytea
作为值存储在 hstore
中,但我不断收到以下错误:
function hstore(unknown, bytea) does not exist
这是我尝试过的:
UPDATE users set store = store || hstore('key1', pgp_pub_encrypt('testval',dearmor('xxxx')));
最佳答案
am trying to store a bytea as a value in hstore
如果没有某种编码,你不能安全地将 bytea
存储在 hstore
中,因为 hstore
在当前文本编码中存储为文本,但是bytea
没有文本编码,也可能包含在文本字符串中不合法的空字节。
因此您需要将 bytea 编码为十六进制、base64 或其他某种形式,使其成为当前编码中的有效文本。
最简单的方法是将其转换为 text
,但我建议改为使用 encode
和 decode
到/从 base64。这种编码比 PostgreSQL 中用于 bytea
文本表示的 text
或 hex
编码更紧凑,而且它也独立于bytea_output
设置。
例如
UPDATE users
SET store = store
|| hstore('key1', encode( pgp_pub_encrypt('testval',dearmor('xxxx'))), 'base64')
WHERE ... ;
关于sql - Postgres : How to store bytea as value in hstore?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29834772/
我是一名优秀的程序员,十分优秀!