Sua fonte não é oficial. Data de 2011 e nem reconheço os autores. Se o tipo de dinheiro fosse oficialmente "desanimado", o PostgreSQL diria isso no manual - o que não acontece.
Para uma fonte mais oficial , leia este tópico no pgsql-general (de apenas esta semana!), com declarações de desenvolvedores principais, incluindo D'Arcy J.M. Cain (autor original do tipo money) e Tom Lane:
Resposta relacionada (e comentários!) sobre melhorias em versões recentes:
- Jasper Report:não foi possível obter o valor do campo 'x' da classe 'org.postgresql.util.PGmoney'
Basicamente,
money
tem seus usos (muito limitados). O Postgres Wiki sugere evitá-lo em grande parte, exceto para esses casos estritamente definidos. A vantagem sobre numeric
é desempenho . decimal
é apenas um alias para numeric
no Postgres, e amplamente utilizado para dados monetários, sendo do tipo "precisão arbitrária". O manual:
O tiponumeric
pode armazenar números com um número muito grande de dígitos. É especialmente recomendado para armazenar valores monetários e outras quantidades onde a exatidão é necessária.
Pessoalmente, gosto de armazenar moeda como
integer
representando centavos se os centavos fracionários nunca ocorrerem (basicamente onde o dinheiro faz sentido). Isso é mais eficiente do que qualquer outra das opções mencionadas.