I have observed PostgresJDBCDriver 42.2.2 returning precision and scale both same as 17 for 'double precision' data type.
Scale has no meaning for double precision, as such it should return 0 always (from the javadoc of ResultSetMetaData.getScale(..): "Gets the designated column's number of digits to right of the decimal point. 0 is returned for data types where the scale is not applicable.".
It sounds like a bug to me, to be honest.
Ideally scale should not be same as precision otherwise it will indicate only value between o and 1(exclusive) are allowed to load in it.
Can you please look in to this issue and please let me understand why precision and scale has been set as 17(hardcoded value) for postgres 'double precision' data type?