【发布时间】:2016-07-03 23:47:51
【问题描述】:
我在两个具有不同 postgres 版本的服务器上执行相同的 sql 脚本。第一个安装了 postgres 9.4.4(这工作正常),另一个安装了 9.5(这会引发异常)。
UPDATE archived_invoice SET encrypted_xml
= encrypt(xml::bytea, 'MySuperSecretKey'::bytea, 'aes-ecb/pad:pkcs')
例外:
Caused by: org.postgresql.util.PSQLException: ERROR: invalid input syntax for type bytea
SQL Status:22P02
这两个 postgresql 版本有什么不同吗?
【问题讨论】:
-
可能您的
standard_conforming_strings在系统之间有所不同,这导致对反斜杠的不同解释。无论如何,您应该使用convert_to()函数从文本中获取字节,而不是强制转换为 bytea。演员对转义序列进行解释,这在这里完全不符合要求。
标签: postgresql postgresql-9.4 postgresql-9.5