通貨型money型は貨幣金額を固定精度の小数点で格納します。8.3を参照してください。小数点精度はデータベースのlc_monetary設定で決定されます。この表が示すように範囲は小数点2桁を想定しています。リテラルなど様々な書式の入力を受け付けます。出力形式は通常は後者となりますが、ロケールによって異なります。+92233720368547758.07このデータ型の出力はロケールにより変動しますので、lc_monetary設定が異なるデータベースにmoneyデータをロードする場合には動作しない可能性があります。この問題を防ぐためには、ダンプを新しいデータベースにリストアする前に、lc_monetaryがダンプを行ったデータベースと同じまたは等価であることを確認してください。numeric、intそしてbigint型はmoney型にキャストすることができます。型にキャストした後に行なう必要があります。'12.34'::float8::numeric::money;しかしこれは推奨されません。浮動小数点数値は丸め誤差の可能性がありますので貨幣を扱うために使用すべきではありません。money型の値は精度を落とすことなくnumericにキャストすることができます。他の型への変換では精度を落とす可能性があり、また2段階で行う必要があります。'52093.89'::money::numeric::float8;money型の値を整数型の値で除算すると、小数部分を0に切り捨てるように実行されます。四捨五入した結果を得るためには、小数部分を持つ値で割り算するか、割り算を行う前にmoney型の値をnumeric型にキャストし、あとでmoney型に戻します。(精度を落とすリスクを避けるため、後者の方が好ましいです。precision型(通貨ではなく純粋な数値)になります。除算では通貨の単位は相殺されます。