> I think it converts it to an integer, and then by the time it tries to
> convert it, it has already chopped off the top of the number. The only
> fix for this would be to read all integers in as 64-bit integers, then
> do the conversion, but that could be a performance problem.
Well, the other possibility is to try converting to float8 only if the int4
conversion fails. If both fail, then throw an elog(ERROR). I have patches for
this...