The following bug has been logged online:
Bug reference: 5880
Logged by: brad
Email address: smithbs(at)gmail(dot)com
PostgreSQL version: 8.4.5
Operating system: linux x64
Description: Rounding error when copying a REAL numeric value to
DOUBLE PRECISION
Details:
Steps to recreate are below. The real value is improperly rounded when
inserted into a field that is double. 94.31 is stored as 94.3099975585938
when it is inserted into a double precision column.
CREATE TABLE tmpfloatToDouble
(field1 DOUBLE PRECISION,
field2 REAL);
INSERT INTO tmpfloatToDouble(field1, field2) VALUES(94.31, 94.31);
INSERT INTO tmpfloatToDouble(field1, field2) select field2, field1 FROM
tmpfloatToDouble;
SELECT * FROM tmpfloattodouble;