Estou tentando importar dados para o postgres. Os campos de dados são separados por vírgula, as strings podem conter vírgulas, caso em que são escapadas:
Estrutura de dados:
create table v (a varchar);
Arquivo de dados:
bus
'Gat\,\\e\'way_MQB'
Comando de importação (executado no Linux a partir do bash)
cat data.csv | psql -d database -c "copy v (a) from stdin with delimiter ',' escape '\\' CSV header"
Erro:
ERROR: extra data after last expected column
Eu tenho lutado e google contra esse problema por algumas horas e não entendo o que estou fazendo de errado?
Tentar:
Você não precisa escapar do caractere de escape ao especificá-lo. O padrão de QUOTE é aspas duplas, então você precisa passar isso.