PostgreSQL Bugs

Collected from the PG bugs email list.

Bug ID15925
PG Version11.4
OSLinux
Opened2019-07-26 07:39:17+00
Reported bySlawomir Chodnicki
StatusNew

Body of first available message related to this bug follows.

The following bug has been logged on the website:

Bug reference:      15925
Logged by:          Slawomir Chodnicki
Email address:      (redacted)
PostgreSQL version: 11.4
Operating system:   Linux
Description:        

As per documentation converting a money value to numeric does not lose
precision. In general that is the case:

select '8547758.07'::money, '8547758.07'::money::numeric(30,2);

money        |numeric   |
-------------|----------|
$8,547,758.07|8547758.07|

During my testing I found unexpected results for the min and max value of
the money type.

select '-92233720368547758.08'::money,
'-92233720368547758.08'::money::numeric(30,2);

money                      |numeric              |
---------------------------|---------------------|
-$92,233,720,368,547,758.08|-92233720368547758.00|

Note that the cent value is gone after converting to numeric.

Same issue for the max value:

money                     |numeric             |
--------------------------|--------------------|
$92,233,720,368,547,758.07|92233720368547758.00|

Best Wishes
Slawo

Messages

DateAuthorSubject
2019-07-26 07:39:17+00PG Bug reporting formBUG #15925: Loss of precision converting money to numeric
2019-07-26 15:17:34+00Tom LaneRe: BUG #15925: Loss of precision converting money to numeric
2019-07-26 16:15:00+00Slawomir ChodnickiRe: BUG #15925: Loss of precision converting money to numeric