Източникът ви по никакъв начин не е официален. Датира от 2011 г. и дори не разпознавам авторите. Ако типът пари беше официално "обезкуражен", PostgreSQL щеше да го каже в ръководството - което не прави.
За попо-официален източник , прочетете тази тема в pgsql-general (само от тази седмица!), с изявления от основни разработчици, включително D'Arcy J.M. Cain (оригиналният автор на типа пари) и Tom Lane:
Свързан отговор (и коментари!) относно подобренията в последните версии:
- Отчет на Jasper:не може да се получи стойност за поле „x“ от клас „org.postgresql.util.PGmoney“
По принцип money
има своите (много ограничени) приложения. Postgres Wiki предлага до голяма степен да го избягвате, с изключение на тези тясно дефинирани случаи. Предимството пред numeric
е производителност .
decimal
е просто псевдоним за numeric
в Postgres и широко използван за парични данни, като тип „произволна точност“. Ръководството:
Типът
numeric
може да съхранява числа с много голям брой цифри. Особено се препоръчва за съхранение на парични суми и други количества, където се изисква точност.
Лично аз обичам да съхранявам валута като integer
представляващи цента, ако дробни центове никога не се появяват (по принцип там, където парите имат смисъл). Това е по-ефективно от всяка друга от споменатите опции.