I wrote:
> With enough nines, the fsec value is going to round up to 1.0 (float
> case) or USECS_PER_SEC (int case). So I think that this check ought
> to allow, not exclude, the boundary value.
Patch applied here:
http://archives.postgresql.org/message-id/20090501192913.C39EC75407B@cvs.postgresql.org
regards, tom lane