22003: numeric_value_out_of_range
PostgreSQLQue signifie cette erreur ?
Une valeur numérique est hors de la plage autorisée par le type cible. Par exemple, écriture d'une valeur supérieure à 2 milliards dans une colonne integer, ou d'un nombre trop grand pour une colonne numeric(5,2).
Cause
Dépassement des limites de smallint/integer/bigint ; dépassement de la précision/échelle de numeric(p,s) ; débordement arithmétique ; somme/produit dépassant la capacité du type ; séquence atteignant la borne supérieure de son type.
Comment la corriger
Passez la colonne/le paramètre à un type plus large (bigint au lieu d'integer, augmentation de la précision de numeric) : ALTER TABLE my_table ALTER COLUMN my_column TYPE bigint; Arrondissez (ROUND) ou validez la valeur selon la règle métier. Si un calcul intermédiaire déborde, calculez l'expression en numeric. En cas de débordement de séquence, élargissez le type.