Condor <condor@xxxxxxxxxx> writes: > new_time = fromtime * 1000; -- here is line 19 Are you entirely certain that you counted lines correctly? If new_time and fromtime are both declared bigint, and fromtime is on the order of # select extract(epoch from now())::bigint; extract ------------ 1621003124 (1 row) then there's no way that that statement fails on integer overflow. What I'm wondering about is the next line: > unix_time = (new_time + rand_int)::BIGINT; You've not shown us the declaration of unix_time ... regards, tom lane