Числовые типы данных с фиксированной точностью в PostgreSQL (numeric и decimal) следует использовать в случаях, когда требуется гарантировать точность вычислений. 1
Например, для хранения денежных сумм и других величин, где важна точность. 2 Вычисления с типом numeric дают точные результаты, где это возможно, например, при сложении, вычитании и умножении. 2
Однако нужно учитывать, что такая точность достигается за счёт замедления вычислений по сравнению с целочисленными типами и типами с плавающей запятой. 1 При этом для хранения числа затрачивается больше памяти, чем в случае целых чисел. 1
Также тип numeric рекомендуется использовать, если нужно хранить числа с очень большим количеством цифр: 131072 цифры — до десятичной точки (запятой), 16383 — после точки. 1