Twoje źródło nie jest w żaden sposób oficjalne. Pochodzi z 2011 roku i nawet nie rozpoznaję autorów. Jeśli typ pieniądza zostałby oficjalnie „odradzany”, PostgreSQL powiedziałby to w instrukcji – czego tak nie jest.
Aby uzyskać bardziej oficjalne źródło , przeczytaj ten wątek w pgsql-general (zaledwie w tym tygodniu!), z oświadczeniami głównych programistów, w tym D'Arcy J.M. Cain (pierwotny autor typu money) i Tom Lane:
Powiązana odpowiedź (i komentarze!) na temat ulepszeń w ostatnich wydaniach:
- Raport Jaspera:nie można uzyskać wartości dla pola „x” klasy „org.postgresql.util.PGmoney”
Zasadniczo money
ma swoje (bardzo ograniczone) zastosowania. Postgres Wiki sugeruje, aby w dużej mierze go unikać, z wyjątkiem tych wąsko zdefiniowanych przypadków. Przewaga nad numeric
to wydajność .
decimal
to tylko alias dla numeric
w Postgres i szeroko stosowany do danych monetarnych, będąc typem „arbitralnej precyzji”. Instrukcja:
Typ numeric
może przechowywać liczby o bardzo dużej liczbie cyfr. Jest szczególnie zalecane do przechowywania kwot pieniężnych i innych ilości, w których wymagana jest dokładność.
Osobiście lubię przechowywać walutę jako integer
reprezentowanie centów, jeśli ułamkowe centy nigdy nie występują (w zasadzie tam, gdzie pieniądze mają sens). Jest to bardziej wydajne niż jakakolwiek inna z wymienionych opcji.