あなたの情報源は決して公式ではありません。それは2011年にさかのぼります、そして私は著者さえ認識しません。お金の種類が公式に「推奨されていない」場合、PostgreSQLはマニュアルでそう言うでしょう-そうではありません。
より公式な情報源の場合 、このスレッドをpgsql-general(今週から!)で読んでください。D'ArcyJ.M。Cain(マネータイプの元の作者)やTom Laneなどのコア開発者からの声明があります:
最近のリリースでの改善に関する関連する回答(およびコメント!):
- Jasperレポート:クラス'org.postgresql.util.PGmoney'のフィールド'x'の値を取得できません
基本的に、money
その(非常に限られた)用途があります。 Postgres Wikiは、これらの狭く定義されたケースを除いて、それを大幅に回避することを提案しています。 numeric
に対する利点 パフォーマンス 。
decimal
numeric
の単なるエイリアスです Postgresで使用され、「任意精度」タイプであるため、金銭データに広く使用されています。マニュアル:
タイプ
numeric
非常に大きな桁数の数値を格納できます。正確さが要求される金額やその他の数量を格納する場合に特にお勧めします。
個人的には、通貨をinteger
として保存するのが好きです。 分数セントが発生しない場合はセントを表します(基本的にお金が理にかなっている場合)。これは、前述の他のどのオプションよりも効率的です。