0

我在 2 个不同的服务器上执行相同的查询,得到不同的结果。有谁知道为什么?

select decrypt('\x792135887dace2af15d3f8548cc20919','\x265bb788ef6762abf50577f8a6669aa0','aes-ecb')

Debian postgresql 9.3 服务器输出(预期结果):

"\xafb8967640bd0400309e7b0008acbb23"

Windows postgresql 9.3 服务器输出(结果错误):

"\257\270\226v@\275\004\0000\236{\000\010\254\273#"
4

1 回答 1

1

您的 Windows 9.3 服务器具有非默认配置;它已bytea_output设置为escape模式,而不是hex模式。

结果实际上是相同的,只是以底层二进制文件的不同文本表示形式显示。

regress=> SHOW bytea_output;
 bytea_output 
--------------
 hex
(1 row)

regress=> SELECT BYTEA '\257\270\226v@\275\004\0000\236{\000\010\254\273#';
               bytea                
------------------------------------
 \xafb8967640bd0400309e7b0008acbb23
(1 row)
于 2014-11-06T09:11:48.247 回答