ERRO:sintaxe de entrada inválida para inteiro:""
"" não é um inteiro válido. PostgreSQL aceita sem aspas campos em branco como nulos por padrão em CSV, mas "" seria como escrever:SELECT ''::integer;
e falhar pelo mesmo motivo.
Se você quiser lidar com CSV que tem coisas como strings vazias citadas para inteiros nulos, você precisará alimentá-lo ao PostgreSQL por meio de um pré-processador que pode aprimorá-lo um pouco. A entrada CSV do PostgreSQL não entende todos os estranhos e maravilhosos abusos do CSV.
As opções incluem:
- Carregar em uma planilha e exportar CSV correto;
- Usando o Python
csvmódulo, PerlText::CSV, etc para pré-processá-lo; - Usando Perl/Python/whatever para carregar o CSV e inseri-lo diretamente no banco de dados
- Usando uma ferramenta ETL como CloverETL, Talend Studio ou Pentaho Kettle