2014-11-06 406 views
0

我在2臺不同的服務器上執行相同的查詢,得到不同的結果。有誰知道爲什麼?Pgcrypto在Windows上無法正常工作

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

的Debian的PostgreSQL 9.3服務器的輸出(結果預計):

"\xafb8967640bd0400309e7b0008acbb23" 

的Windows的PostgreSQL 9.3服務器輸出(結果錯誤):

"\257\270\[email protected]\275\004\0000\236{\000\010\254\273#" 
+0

我試着在debian服務器的另一個數據庫上使用相同的排序規則,並得到同樣的問題。 – Alexandre 2014-11-06 09:03:17

回答

1

您的Windows 9.3服務器有非默認組態;它有bytea_output設置爲escape模式,而不是hex模式。

結果實際上是相同的,它只是顯示在底層二進制文件的不同文本表示中。

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

regress=> SELECT BYTEA '\257\270\[email protected]\275\004\0000\236{\000\010\254\273#'; 
       bytea     
------------------------------------ 
\xafb8967640bd0400309e7b0008acbb23 
(1 row) 
相關問題