我在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#"
答案 0 :(得分: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)