I am writting such float value from Python (6.481044303797468) converted to string via StringIO '6.481044303797468' into Postgresql column of type NUMERIC(13,8). I read it back into Python which is returned as Decimal('6.48104430').
Why the precision is smaller?
NUMERIC(13,8) means: 8 decimal digits. So you are getting exactly what you saved.
Python writes float to Postgresql but it is precision is lesser