Bem pessoal, o problema foi elucidado! Existe uma trigger que em função de alguns atributos do produto e informações de outra tabela, gera o bendito campo nce. Como na base destino esta outra tabela estava vazia, o resultado da trigger era sempre nulo para esta coluna!
Agradeço a atenção de todos . Em Seg, 2007-06-11 às 12:18 -0300, Fabricio Barroso de Carvalho escreveu: > Bom dia a todos! > > Tenho a seguinte situação na implantação de um novo sistema na empresa > onde trabalho: > Desenvolvemos um sistema que será implantado em todas as nossas > filiais. Para isso criamos um database default contendo a estrutura de > esquemas e tabelas, sendo que algumas tabelas já estão preenchidas com > informações comuns para todas as filiais. Ex.: Relação de lojas, base > de endereço dos correios, catálogo de produtos, etc. > Para criar uma base para ser instalada em uma nova filial, > desenvolvi um script que tem as opções de fazer um dump total da base > default ou exportar somente o conteúdo de determinadas tabelas através > dos comandos COPY TO e COPY FROM. Usamos o script em várias > situações(dump geral e conteúdo de tabelas em particular) e atestamos > que o funcionamento está correto. > > Posto isso vamos ao problema: > Quando uso a opção de exportar apenas o conteúdo da tabela de > produtos[1] o arquivo csv[2] criado possui os dados de todas as > colunas. Mas quando vou restaurar este mesmo arquivo na base destino, > a coluna 'nce' é inserida com nulo mesmo estando o seu valor > preenchido na tabela de origem e no arquivo csv. Vale lembrar que a > base destino foi criada através de um dump da base default. > > Os comandos de copy gerados pelo script são: > base_default: > copy socic.produto to > '/home/postgres/base_default/csv/socic.produto.csv' with delimiter > ';' ; > base destino: > copy socic.produto from > '/home/postgres/base_default/csv/socic.produto.csv' with delimiter > ';' ; > > Já tentei especificar o nome de cada coluna da tabela nos comandos mas > o problema persiste. Já executei os comandos isoladamente fora do > script e o erro também continua. > > Mensagem de erro: > ERROR: null value in column "nce" violates not-null constraint > CONTEXT: COPY produto, line 1: > "38224;81.20000;0.00000;0.00000;2006-01-10 00:00:00;PRATELEIRA UNIERRE > PRT2-404 1,30CM;0.00000;f;1329..." > > Versão do Postgresql: 8.2.3 > S.O: Linux Ubuntu Server 6.10 Kernel 2.6.15-27-k7 #1 SMP PREEMPT > > [1] Tabela de produtos: > CREATE TABLE socic.produto ( > id int4 NOT NULL, > col2 numeric(10,5), > col3 numeric(10,5), > col4 numeric(10,5), > col5 timestamp, > col6 varchar(100), > col7 numeric(10,5), > col8 bool, > nce int4 NOT NULL, > col10 numeric(10,5), > col11 varchar(20), > col12 int4 NOT NULL, > col13 int4, > col14 varchar(30), > col15 int4 NOT NULL, > col16 int4, > col17 int4, > col18 int4, > col19 varchar(50), > col20 int4 NOT NULL, > col21 bool, > col22 int4, > col23 varchar(100), > col24 numeric(5,2) DEFAULT 0, > col25 numeric(5,2) DEFAULT 0, > col26 numeric(5,2) DEFAULT 0, > col27 numeric(5,2) DEFAULT 0, > col28 numeric(5,2) DEFAULT 0, > col29 numeric(5,2) DEFAULT 0, > col30 varchar(78), > col31 bool DEFAULT false, > col32 char(6), > col33 int4, > CONSTRAINT produto_pkey PRIMARY KEY (id), ... ); > > [2] Arquivo csv: > 38224;81.20000;0.00000;0.00000;2006-01-10 00:00:00;PRATELEIRA UNIERRE > PRT2-404 1,30CM;0.00000;f;132938;0.00000;\N;358;45;\N;41;\N;318;679; 1 > 5132938;583;t;38224;\N;0.00;0.00;0.00;0.00;0.00;0.00;PRATELEIRA > UNIERRE PRT2-404 1,30CM;f;\N;\N > > 38225;190.00000;0.00000;0.00000;2006-09-21 00:00:00;PRATELEIRA UNIERRE > 904;0.00000;f;148490;0.00000;\N;358;45;\N;41;\N;318;5973; 1 > 5148490;583;t;38225;\N;0.00;0.00;0.00;0.00;0.00;0.00;PRATELEIRA > UNIERRE 904;f;\N;\N > > 38226;122.80000;0.00000;0.00000;2006-09-21 00:00:00;PRATELEIRA UNIERRE > 416 - 240M;0.00000;f;148489;0.00000;\N;358;45;\N;41;\N;318;5972; 1 > 5148489;583;t;38226;\N;0.00;0.00;0.00;0.00;0.00;0.00;PRATELEIRA > UNIERRE 416 - 240M;f;\N;\N > > 38227;26.80000;0.00000;0.00000;1993-01-01 00:00:00;PRATELEIRA NEUMANN > 94.9180.71-9;0.00000;f;1688;0.00000;\N;297;5;\N;41;\N;301;6702; 1 9 > 1688;583;t;38227;\N;0.00;0.00;0.00;0.00;0.00;0.00;PRATELEIRA NEUMANN > 94.9180.71-9;f;\N;\N > > 38228;57.20000;0.00000;0.00000;1993-01-01 00:00:00;PRATELEIRA NEUMANN > DECORATIVA 94.9182.71-1;0.00000;f;104892;0.00000;\N;297;5;\N;41; > \N;301;9141; 1 9104892;583;t;38228; > \N;0.00;0.00;0.00;0.00;0.00;0.00;PRATELEIRA NEUMANN DECORATIVA > 94.9182.71-1;f;\N;\N > > Desde já agradeço a atenção de todos. > > > > > > > > > > > > > Fabrício Barroso de Carvalho - > SOCIC S/A > BME - CPD - Belém - PA > Fone: (91) 3210-4346 > > > > > > > > > > _______________________________________________ > pgbr-geral mailing list > [email protected] > https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
_______________________________________________ pgbr-geral mailing list [email protected] https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
