The manual suggests here:
https://www.postgresql.org/docs/current/static/functions-formatting.html#FUNCTIONS-FORMATTING-TABLE
> to_number(text, text) | numeric convert string to numeric | to_number
('12,454.8-', '99G999D9S')
The example fails for locales where the comma (',') does not happen to be
the group separator and the dot ('.') is not the decimal point.
The example is incorrectly assuming en_US locale. It must instead work
locale-agnostic. Replace:
to_number ('12,454.8-', '99G999D9S')
with:
to_number ('12,454.8-', '99,999.9S')
Regards
Erwin Brandstetter