Decimal, also called NUMERIC in PostgreSQL, stores exact numeric values with specified precision and scale. NUMERIC and DECIMAL are equivalent names in PostgreSQL. section 3.6
Use NUMERIC for monetary amounts instead of MONEY or floating-point types. MONEY does not record its currency and accepts malformed input, while real and double precision can introduce rounding errors. Store the currency in a separate adjacent column. section 3.6 section 3.9
Avoiding numeric type mismatches
During a migration, do not map another database's NUMBER type by name alone. Oracle NUMBER can represent integers and floating-point values, whereas PostgreSQL distinguishes numeric, integer, and floating-point types. Check each definition and use PostgreSQL conversion functions or migration tools to preserve precision and calculations. section 10.5




