在 psql 命令中提取 clob postgres 值

Extract clob postgres value in psql command

在我的 table 中有这些行:

来自 intellij,当我 运行 我的 PSQL 请求时,lo_get 结果是正确的 return(这里是 JSON 内容)

Select lo_get(cast(my_col as bigint)) from my_table

my_column是“文本”格式

但是当我在我的 postgres 服务器上的 psql 控制台中执行相同的请求时,结果不正确 return

example : \x7b22646174654c6976726169736f6e223a22323032322d30322d32325432333a30303a30302e3030302b30303030222c22666f726d617443616e74696e6573223a5b5d2c226d6f6e74616e7450616e696572456e436f757273223a307d

有没有办法在 psql 列中获取这些值?

如果我用 'escape' 方法对其进行编码,我会得到一些看起来像 JSON 的东西,但它看起来根本不像你在图像中显示的东西(看起来不像至少像 JSON)。

select encode('\x7b22646174654c6976726169736f6e223a22323032322d30322d32325432333a30303a30302e3030302b30303030222c22666f726d617443616e74696e6573223a5b5d2c226d6f6e74616e7450616e696572456e436f757273223a307d'::bytea,
    'escape');

如果你想一直这样编码,你可以set bytea_output TO escape。但是,虽然这在 psql 交互式工具中可能有意义,但它可能不适合作为永久服务器设置,即在与其他客户端打交道时。