FOUT:ongeldige invoersyntaxis voor geheel getal:""
""
is geen geldig geheel getal. PostgreSQL accepteert niet-geciteerde lege velden zijn standaard null in CSV, maar ""
zou zijn als schrijven:
SELECT ''::integer;
en mislukken om dezelfde reden.
Als je met CSV wilt werken met dingen als lege strings tussen aanhalingstekens voor null integers, moet je het naar PostgreSQL voeren via een pre-processor die het een beetje kan verfijnen. De CSV-invoer van PostgreSQL begrijpt niet alle vreemde en prachtige mogelijke misbruiken van CSV.
Opties zijn onder meer:
- Het in een spreadsheet laden en een normaal CSV-bestand exporteren;
- De Python
csv
gebruiken module, PerlText::CSV
, enz. om het voor te verwerken; - Perl/Python/whatever gebruiken om de CSV te laden en direct in de DB in te voegen
- Een ETL-tool gebruiken zoals CloverETL, Talend Studio of Pentaho Kettle