Le type money stocke un montant en devise avec un nombre fixe
    de décimales. Voir le Tableau 8.3. La précision
    de la partie fractionnée est déterminée par le paramètre lc_monetary de la base de données. L'échelle indiquée dans
    la table suppose qu'il y a deux chiffres dans la partie fractionnée. De
    nombreux formats sont acceptés en entrée, dont les entiers et les nombres
    à virgule flottante, ainsi que les formats classiques de devises, comme
    '$1,000.00'. Le format de sortie est généralement dans
    le dernier format, mais dépend de la locale.
   
Tableau 8.3. Types monétaires
| Nom | Taille de stockage | Description | Étendue | 
|---|---|---|---|
money | 8 octets | montant monétaire | -92233720368547758.08 à +92233720368547758.07 | 
    Comme la sortie de type de données est sensible à la locale, la recharge
    de données de type money dans une base de données pourrait ne
    pas fonctionner si la base a une configuration différente pour
    lc_monetary. Pour éviter les problèmes, avant de
    restaurer une sauvegarde dans une nouvelle base de données, assurez-vous
    que lc_monetary a la même valeur ou une valeur
    équivalente à celle de la base qui a été sauvegardée.
   
    Les valeurs de types numeric, int et
    bigint peuvent être converties en type money. La
    conversion à partir du type real et double
    precision peut être faite en convertissant tout d'abord vers le
    type numeric. Par exemple :
SELECT '12.34'::float8::numeric::money;
    Néanmoins, ce n'est pas recommandé. Les nombres à virgules flottantes ne doivent pas être utilisés pour gérer de la monnaie à cause des erreurs potentielles d'arrondis.
    Une valeur money peut être convertie en numeric
    sans perdre de précision. Les conversions vers d'autres types peuvent
    potentiellement perdre en précision et doivent aussi se faire en deux
    étapes :
    
SELECT '52093.89'::money::numeric::float8;
    
    La division d'une valeur de type money par une valeur de type
    entier est réalisée en tronquant la partie décimale. Pour obtenir un
    résultat arrondi, il faut diviser par une valeur en virgule flottante ou
    convertir la valeur de type money en numeric
    avant de réaliser la division. Il faudra ensuite convertir vers le type
    money. (Cette dernière méthode est préférable pour éviter de
    perdre en précision.) Quand une valeur de type money est
    divisée par une autre valeur de type money, le résultat est
    du type double precision (c'est-à-dire un nombre pur, pas une
    monnaie). Les unités de monnaie s'annulent dans la division.