Eu tenho uma tabela PostgreSQL com dados existentes e preciso importar todas as linhas de um arquivo CSV para essa tabela. Estou usando a ferramenta de importação do pgadmin3 para fazer a importação.
Pergunta: Para as linhas recém-importadas, como defino os valores para uma coluna específica (não encontrada no CSV)? Não posso fazer UPDATE staging.tablename SET colname = 'somename'
o que fazia ao importar para uma tabela vazia. Ou esta abordagem está errada?
Eu recomendo usar o
COPY
comando depsql
. Você pode definir umDEFAULT
valor para uma coluna e omitir esse valor doCOPY
comando, por exemplo:Como alternativa, você pode criar uma nova
TEMPORARY
tabela no PgAdmin-III com apenas as colunas do CSV, importar o CSV para ela e usar o SQL como este para mesclá-lo na tabela principal:Você pode usar isso para calcular colunas com base em expressões, combinar e dividir colunas, omitir algumas linhas, etc.