在 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
交互式工具中可能有意义,但它可能不适合作为永久服务器设置,即在与其他客户端打交道时。
在我的 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
交互式工具中可能有意义,但它可能不适合作为永久服务器设置,即在与其他客户端打交道时。