Se você tiver linhas como esta em seu csv:
533696;PoG;-251658240;from id GSW C";
isso realmente significa/mostra que os campos não são citados, o que ainda é perfeitamente válido, desde que não haja separadores dentro dos campos.
Nesse caso, o analisador deve ser informado de que os campos não são citados.
Então, em vez de usar
quote '"'
(que na verdade está dizendo ao analisador que os campos são citado e por que você recebe o erro), você deve usar algo como quote 'none'
, ou deixe o parâmetro quote de fora (não conheço o Postgres, então não posso lhe dar a opção exata para fazer isso). Ok, eu fiz uma pesquisa rápida dos parâmetros. Parece que não há realmente uma opção para desativar a cotação. A única opção restante seria fornecer um caractere de aspas que nunca é usado nos dados.
quote E'\b'
(backspace) parece funcionar bem
.