ページの先頭行へ戻る
Enterprise Postgres 17 リリース情報

2.2.12 interval型におけるオーバーフローの防止

非互換

Fujitsu Enterprise Postgres 17では、interval型におけるオーバーフローを正しく防止するように変更します。

Fujitsu Enterprise Postgres 16 SP1の場合
postgres=# select make_interval(years := 178956971);
      make_interval
--------------------------
 -178956970 years -4 mons
(1 row)	

postgres=# SELECT CAST(interval '-9223372022400000000 us' AS time) AS "00:00:00";
    00:00:00
-----------------
 32:01:49.551616
(1 row)

postgres=# SELECT interval '2562047788:00:54.775807' second(2);
       interval
----------------------
 -2562047788:00:54.77
(1 row)
Fujitsu Enterprise Postgres 17の場合
postgres=# select make_interval(years := 178956971);
ERROR:  interval out of range

postgres=# SELECT CAST(interval '-9223372022400000000 us' AS time) AS "00:00:00";
 00:00:00
----------
 00:00:00
(1 row)

postgres=# SELECT interval '2562047788:00:54.775807' second(2);
ERROR:  interval out of range
LINE 1: SELECT interval '2562047788:00:54.775807' second(2);

対処方法

ありません。