ERROR:sintaxis de entrada no válida para entero:""
""
no es un entero válido. PostgreSQL acepta sin comillas campos en blanco como nulos por defecto en CSV, pero ""
sería como escribir:
SELECT ''::integer;
y fallan por la misma razón.
Si desea trabajar con CSV que tiene cosas como cadenas vacías entrecomilladas para enteros nulos, deberá enviarlo a PostgreSQL a través de un preprocesador que puede mejorarlo un poco. La entrada CSV de PostgreSQL no comprende todos los posibles abusos extraños y maravillosos de CSV.
Las opciones incluyen:
- Cargándolo en una hoja de cálculo y exportando el mismo CSV;
- Uso de Python
csv
módulo, PerlText::CSV
, etc. para preprocesarlo; - Usando Perl/Python/lo que sea para cargar el CSV e insertarlo directamente en la base de datos
- Utilizar una herramienta ETL como CloverETL, Talend Studio o Pentaho Kettle