Claudio Biasi Postado Outubro 19, 2017 Denunciar Share Postado Outubro 19, 2017 Olá. Usei o comando COPY do psql e obtive uma mensagem de erro: postgres=# copy weather from 'C:\postgres\weather.txt'; ERROR: missing data for column "temp_lo" CONTEXT: COPY weather, line 1: "INSERT INTO weather (city, temp_lo, temp_hi, prcp, date)" O arquivo weather.txt é esse: INSERT INTO weather (city, temp_lo, temp_hi, prcp, date) VALUES ('Washington', 40, 60, 0.3, '1997-10-15'); INSERT INTO weather (city, temp_lo, temp_hi, prcp, date) VALUES ('Florida', 45, 65, 0.6, '1995-01-30'); A tabela foi criada anteriormente conforme descrito no tutorial (https://www.postgresql.org/docs/10/static/tutorial-table.html) por meio do comando: CREATE TABLE weather ( city varchar(80), temp_lo int, -- low temperature temp_hi int, -- high temperature prcp real, -- precipitation date date ); Alguém poderia me dar uma dica do que pode estar errado? Obrigado. Claudio. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 rdavisp Postado Novembro 1, 2017 Denunciar Share Postado Novembro 1, 2017 Comecei a trabalhar recentemente em um projeto em postgre. Onde tive que fazer exatamente esses imports. Percebi que ele é bem sensível aos detalhes da sintaxe do comando. Certifique que a quantidade de colunas do arquivo é igual ao da tabela e se estão nas mesmas posições. Caso seu arquivo texto possua cabeçalho é necessário especificar uma cláusula no comando COPY o mesmo se aplica para separadores. Caso esteja tudo certo, verifique a possibilidade de importar um csv. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 s1dy Postado Dezembro 8, 2017 Denunciar Share Postado Dezembro 8, 2017 Tente usar o WITH DELIMITERS ',' . Da maneira q colocou ele entende q seu arquivo está com apenas um campo. Além disso, seu arquivo não precisa ter insert, apenas as linhas a serem inseridas. Algo assim: 'Washington', 40, 60, 0.3, '1997-10-15' 'Florida', 45, 65, 0.6, '1995-01-30' Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Claudio Biasi
Olá. Usei o comando COPY do psql e obtive uma mensagem de erro:
postgres=# copy weather from 'C:\postgres\weather.txt';
ERROR: missing data for column "temp_lo"
CONTEXT: COPY weather, line 1: "INSERT INTO weather (city, temp_lo, temp_hi, prcp, date)"
O arquivo weather.txt é esse:
INSERT INTO weather (city, temp_lo, temp_hi, prcp, date)
VALUES ('Washington', 40, 60, 0.3, '1997-10-15');
INSERT INTO weather (city, temp_lo, temp_hi, prcp, date)
VALUES ('Florida', 45, 65, 0.6, '1995-01-30');
A tabela foi criada anteriormente conforme descrito no tutorial (https://www.postgresql.org/docs/10/static/tutorial-table.html) por meio do comando:
CREATE TABLE weather (
city varchar(80),
temp_lo int, -- low temperature
temp_hi int, -- high temperature
prcp real, -- precipitation
date date
);
Alguém poderia me dar uma dica do que pode estar errado?
Obrigado.
Claudio.
Link para o comentário
Compartilhar em outros sites
2 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.