DECIMAL and NUMERIC datatype in Postgres
From the documentation


  The types decimal and numeric are equivalent. Both types are part of
  the SQL standard.


float, real, ... and the rest of the floating point types are inexact. This happens in all programming languages. As you have a type like BigDecimal in Java to represent exact numbers, in PostgreSQL you have decimal and numeric.

They are commonly used to represent currency.