ERRORE:sintassi di input non valida per il numero intero:""
""
non è un numero intero valido. PostgreSQL accetta non quotato campi vuoti come null per impostazione predefinita in CSV, ma ""
sarebbe come scrivere:
SELECT ''::integer;
e fallire per lo stesso motivo.
Se vuoi gestire CSV che ha cose come stringhe vuote tra virgolette per interi nulli, dovrai inviarlo a PostgreSQL tramite un preprocessore che può ripulirlo un po'. L'input CSV di PostgreSQL non comprende tutti gli strani e meravigliosi possibili abusi del CSV.
Le opzioni includono:
- Caricarlo in un foglio di lavoro ed esportare un CSV corretto;
- Utilizzo di Python
csv
modulo, PerlText::CSV
, ecc per pre-elaborarlo; - Utilizzare Perl/Python/qualunque cosa per caricare il CSV e inserirlo direttamente nel DB
- Utilizzare uno strumento ETL come CloverETL, Talend Studio o Pentaho Kettle