Ma colonne de table a défini un entier intcol; pas de contrainte NOT NULL. Dans le fichier de chargement, la plupart des valeurs sont des entiers, mais quelques-unes sont des valeurs nulles étiquetées avec la valeur par défaut '\ N' comme suggéré par le manuel de copie. La commande de copie peut-elle convertir '\ N' en valeurs nulles dans le tableau? J'ai également essayé avec null 'NA'. Vous avez un message d'erreur similaire.
ERROR: invalid input syntax for integer: "\N"
CONTEXT: COPY table_name, line 111, column position3: "\N"
Une astuce?
Utilisez le paramètre NULL
. De la documentation:
NUL
Spécifie la chaîne qui représente une valeur nulle. La valeur par défaut est\N (barre oblique inversée-N) au format texte et une chaîne vide sans guillemets au format CSV.
Exemple
copy my_table from '/my/csv_file.csv' (format csv, null '\N');