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

Responder a