Crie uma tabela:
CREATE TABLE num (
id serial NOT NULL ,
adsh VARCHAR(20) NOT NULL,
tag VARCHAR(256) NOT NULL,
version VARCHAR(20) NOT NULL,
coreg VARCHAR(256),
ddate date NOT NULL,
qtrs DECIMAL(8) NOT NULL,
uom VARCHAR(20),
value DECIMAL(28,4),
footnote VARCHAR(512)
);
Eu quero importar os sample.txt
dados para a num
tabela:
adsh tag version coreg ddate qtrs uom value footnote
0001213900-20-033598 DueToAsiyaCommunicationsSapiDeC.v.Current 0001213900-20-033598 20191231 0 USD
0001213900-20-033598 DueToDinarZuzLLC 0001213900-20-033598 20200630 0 USD 178000.0000 Due to the April 6, 2020 180 days Loan Agreement with the Company to borrow up to $250 at an annual interest rate of nine percent (9.0%) ("the second "Dinar Zuz Note").
0001213900-20-033598 DueToNextCalaCurrent 0001213900-20-033598 20181231 0 USD -14000.0000
0001213900-20-033598 DueToNextCalaCurrent 0001213900-20-033598 20191231 0 USD
O comando para importar os dados sample.txt
para a tabela:
COPY num(adsh,tag,version,coreg,ddate,qtrs,uom,value,footnote)
FROM 'sample.txt'
DELIMITER E'\t'
CSV HEADER;
Ele encontra um erro:
ERROR: unterminated CSV quoted field
CONTEXT: COPY num, line 6: "0001213900-20-033598 DueToDinarZuzLLC 0001213900-20-033598 20200630 0 USD 178000.0000 Due to the Ap..."
Corrija-o sem editar os dados primitivos.
"
é o caractere de cotação padrão em um arquivo CSV. Ele cita campos que contêm delimitadores e não podem ser desbalanceadosUse a
QUOTE
opção para especificar um caractere de cotação diferente:Isso pressupõe que o caractere BEL (ASCII 7) não apareça em seus dados.