Postgres:org.postgresql.util.PSQLException:错误:消息中剩余的数据不足

时间:2015-02-03 20:46:09

标签: postgresql-9.1

我读得足以知道当字符串包含Postgres不喜欢的某些字符时会发生这种情况。但是,我无法弄清楚在编写字符串之前是否有办法验证字符串。特别是,我正在进行批量插入。

insert into foo(col1,col2,col3) values ('a',2,3),('b',4,0),....

我的数据库设置如下:

   Name     | Owner  | Encoding | Collate | Ctype | Access privileges
------------+--------+----------+---------+-------+-------------------
 stats      | me     | UTF8     | C       | C     |

周期性地,一些错误的字符串将进入并且整个插入将失败(例如change���=)。我在一个插入中批量了很多值,所以我想理想地验证字符串而不是轰炸整个插入。是否有Postgres插入中不允许使用哪些字符的列表?

使用postgresql-jdbc 9.1-901.jdbc4

2 个答案:

答案 0 :(得分:1)

此消息表示您的字符串数据中包含空字符"\0"

我无法找到一个权威的引用(请告诉我你是否有)。

允许所有其他字符。

答案 1 :(得分:0)

日期类型与目标类型不匹配。例如int4-> int8