FEHLER:ungültige Eingabesyntax für Ganzzahl:""
""
ist keine gültige Ganzzahl. PostgreSQL akzeptiert ohne Anführungszeichen leere Felder standardmäßig als null in CSV, aber ""
wäre wie schreiben:
SELECT ''::integer;
und scheitern aus demselben Grund.
Wenn Sie mit CSV arbeiten möchten, das Dinge wie leere Zeichenfolgen in Anführungszeichen für Null-Ganzzahlen enthält, müssen Sie es über einen Präprozessor an PostgreSQL übergeben, der es ein wenig aufräumen kann. Die CSV-Eingabe von PostgreSQL versteht all die seltsamen und wunderbaren möglichen Missbrauchsfälle von CSV nicht.
Zu den Optionen gehören:
- Laden in eine Tabelle und Exportieren einer vernünftigen CSV-Datei;
- Verwendung von Python
csv
Modul, PerlText::CSV
, usw., um es vorzuverarbeiten; - Mit Perl/Python/was auch immer die CSV-Datei laden und direkt in die DB einfügen
- Mit einem ETL-Tool wie CloverETL, Talend Studio oder Pentaho Kettle