The following bug has been logged on the website:
Bug reference: 8230
Logged by: Rok Kralj
Email address: rok.kralj@gmail.com
PostgreSQL version: 9.2.4
Operating system: Arch Linux
Description: =
As far as I know, the INTERVAL type is represented using three int32, one
for months, days and milliseconds.
However, overflow detections seems to work correctly only on these three
types; if they get overflown indirectly, they do not get detected:
SELECT INTERVAL '3000000000 days'
ERROR: interval field value out of range: "3000000000 days"
SELECT INTERVAL '2000000000 years'
-147483648 years
I'm surprised this hasn't been reported yet. The expected behaviour is to
raise an error.