postgresql报错ERROR: integer out of range错误: 整数超出范围

时间:2025-02-09 17:48:24

作者:瀚高PG实验室 (Highgo PG Lab)- 徐云鹤

在pg中我们进行如下操作:

highgo=# select 10*1024*1024*1024;
错误:  整数超出范围

尝试进行类型转换:

highgo=# select cast(10*1024*1024*1024  as bigint);
错误:  整数超出范围

这种情况下,我们可以进行如下操作:

highgo=# select 10*1024*1024*1024::bigint;
  ?column?   
-------------
 10737418240
(1 row)
原因是默认为int4,最大值为2147483647。在应用中尤其要注意。