如何在 PostgreSQL 中将 bytea 列转换为文本,以便我可以在 PGADMIN 中正确读取该列?
我在 PGADMIN 的查询编辑器中有以下 SQL 查询:
SELECT event_type, created_at, encode(metadata::bytea, 'escape')
FROM public.events
ORDER BY created_at DESC
LIMIT 100
Run Code Online (Sandbox Code Playgroud)
但是,它会生成一encoded
列,其中每条记录或多或少类似于以下输出:
\203t\00000some_textd\000some_other_textd\0000
Run Code Online (Sandbox Code Playgroud)
我怎样才能摆脱这种编码,以便我只能看到文本格式的列的原始值:
some_text some_data
Run Code Online (Sandbox Code Playgroud)
我也尝试过:
SELECT event_id, event_type, created_at, decode((encode(metadata, 'escape')::text), 'escape')
FROM public.events
ORDER BY created_at DESC
LIMIT 100
Run Code Online (Sandbox Code Playgroud)
但在上面的情况下,查询返回一个decode
类型的列,我只看到该列的每个记录的bytea
字段。[binary data]
rya*_*ago 17
我终于找到了如何将bytea
列显示为文本!convert_from
我可以像这样使用该函数:
SELECT event_type, convert_from(metadata, 'UTF8') as metadata
FROM public.events
ORDER BY created_at DESC
LIMIT 100
Run Code Online (Sandbox Code Playgroud)
然后我将以人类可读的格式获得元数据列。
归档时间: |
|
查看次数: |
30503 次 |
最近记录: |