如何将bytea_output设置为十六进制?

5 postgresql configuration phppgadmin

我似乎无法bytea_output改变hex

我尝试过这个方法

ALTER DATABASE dbname SET bytea_output TO 'hex';
Run Code Online (Sandbox Code Playgroud)

我尝试编辑 postgresql.conf

bytea_output = 'hex'
Run Code Online (Sandbox Code Playgroud)

并重新启动服务器。

我努力了

SET bytea_output = 'hex'
Run Code Online (Sandbox Code Playgroud)

它适用于每笔交易,但这非常乏味。

然而,每当我在 phpPgAdmin 中浏览我的 bytea 列时,这些列都会被转义输出。

SELECT setting FROM pg_settings WHERE name = 'bytea_output'
Run Code Online (Sandbox Code Playgroud)

返回escape

如何才能bytea_output永久设置为hex

Cra*_*ger 3

听起来 PhpPgAdmin 可能正在执行会话级SET bytea_output = 'escape'.

如果您打开一个新的 psql 会话,SHOW bytea_output;它将是十六进制的。

PhpPgAdmin 可能提供一种方法来控制此行为,或者可能通过硬编码来解决兼容性问题(如果它不理解 bytea 的十六进制格式)。