Sql Postgres BIGINT超出范围

Sql Postgres BIGINT超出范围,sql,postgresql,npgsql,Sql,Postgresql,Npgsql,我正在用PostgreSQL发现一个新世界,但在将Firebird 2.1数据库转换为PostgreSQL 9.3时,我遇到了以下错误 BIGINT out of range: 我已经检查了import语句中的Min和Max值,它们适合Bigint并且可以导入,但是附件中的整个insert语句给了我错误。我也在PGAdmin中报告了错误 表的结构如下: CREATE TABLE SomeTable ( id integer NOT NULL n0 bigint NOT NULL D

我正在用PostgreSQL发现一个新世界,但在将Firebird 2.1数据库转换为PostgreSQL 9.3时,我遇到了以下错误

BIGINT out of range: 
我已经检查了import语句中的Min和Max值,它们适合Bigint并且可以导入,但是附件中的整个insert语句给了我错误。我也在PGAdmin中报告了错误

表的结构如下:

CREATE TABLE SomeTable
(
  id integer NOT NULL 
  n0 bigint NOT NULL DEFAULT 0,
  n1 bigint NOT NULL DEFAULT 0,
  n2 bigint NOT NULL DEFAULT 0,
  n3 bigint NOT NULL DEFAULT 0
  .
  .
  .
  n247 bigint NOT NULL DEFAULT 0,
  CONSTRAINT SomeTable_pkey PRIMARY KEY (id)
)

有什么建议吗

实际误差 错误:bigint超出范围 ***错误***

错误:bigint超出范围 SQL状态:22003

更新 我在这张表格中使用语句

insert .... values ((1::int4),(2222222222::int8)....);
什么时候改成的

insert .... values (1,2222222222,....);
它起作用了。 在我看来,这就像是博士后的一只小虫子

更新

该查询来自NPGSQL 2.0 prepared语句。 在版本2.1中,该问题已修复,并且可以正常工作 示例中的此值超出范围:

select -9223372036854775808::int8;
ERROR:  bigint out of range
问题是它首先尝试将
9223372036854775808
转换为bigint,然后更改其符号。如果你这样做了,它就会起作用

select (-9223372036854775808)::bigint;
         int8         
----------------------
 -9223372036854775808

您可以发布准确的错误吗?请显示失败的完整、未经更改的insert语句。另外,您要插入的表上是否有任何触发器/规则?sqlfidlle demo包含错误,根据文档bigint is-9223372036854775808到+9223372036854775807和9223372036854775808应该是有效的value@danisius的确如此。读一下答案,明白了。谢谢