Importo essas tabelas
CREATE TABLE cep
(
intcodigoestado int4 NOT NULL,
intcodigocidade int4 NOT NULL,
intcodigorua int4 NOT NULL,
intcodigobairro int4 NOT NULL,
strcep varchar(20) NOT NULL,
intcep5digitos int4 NOT NULL,
intcodigobairro2 int4 NOT NULL,
intcodigopais int4,
intcodigoempresa int4,
CONSTRAINT pk_cep PRIMARY KEY (intcodigoestado, intcodigocidade,
intcodigorua, intcodigobairro, strcep, intcep5digitos, intcodigobairro2),
CONSTRAINT fk_cep_ref_200_rua FOREIGN KEY (intcodigorua)
REFERENCES rua (intcodigorua) MATCH SIMPLE
ON UPDATE RESTRICT ON DELETE RESTRICT,
CONSTRAINT fk_cep_ref_203_bairro FOREIGN KEY (intcodigobairro)
REFERENCES bairro (intcodigobairro) MATCH SIMPLE
ON UPDATE RESTRICT ON DELETE RESTRICT,
CONSTRAINT fk_cep_ref_56510_cidade FOREIGN KEY (intcodigocidade)
REFERENCES cidade (intcodigocidade) MATCH SIMPLE
ON UPDATE RESTRICT ON DELETE RESTRICT,
CONSTRAINT fk_cep_ref_56529_estado FOREIGN KEY (intcodigoestado)
REFERENCES estado (intcodigoestado) MATCH SIMPLE
ON UPDATE RESTRICT ON DELETE RESTRICT,
CONSTRAINT fk_cep_reference_pais FOREIGN KEY (intcodigopais)
REFERENCES pais (intcodigopais) MATCH SIMPLE
ON UPDATE RESTRICT ON DELETE RESTRICT
)
WITHOUT OIDS;
E
CREATE TABLE endereco_cliente
(
intcodigocliente int4 NOT NULL,
intseqenderecocliente int4 NOT NULL,
intcodigoempresa int4,
intcodigotipoendereco int4,
intcodigoestado int4,
intcodigocidade int4,
intcodigorua int4,
intcodigobairro int4,
strcep varchar(20),
intcep5digitos int4,
intcodigobairro2 int4,
strtnumeroenderecocliente varchar(10),
strcomplementoenderecocliente varchar(80),
strcaixapostalenderecocliente varchar(6),
CONSTRAINT pk_endereco_cliente PRIMARY KEY (intcodigocliente,
intseqenderecocliente),
CONSTRAINT fk_endereco_ref_27206_cliente FOREIGN KEY (intcodigocliente)
REFERENCES cliente (intcodigocliente) MATCH SIMPLE
ON UPDATE RESTRICT ON DELETE RESTRICT,
CONSTRAINT fk_endereco_ref_27210_tipo_end FOREIGN KEY
(intcodigotipoendereco)
REFERENCES tipo_endereco (intcodigotipoendereco) MATCH SIMPLE
ON UPDATE RESTRICT ON DELETE RESTRICT,
CONSTRAINT fk_endereco_ref_64010_cep FOREIGN KEY (intcodigoestado,
intcodigocidade, intcodigorua, intcodigobairro, strcep, intcep5digitos,
intcodigobairro2)
REFERENCES cep (intcodigoestado, intcodigocidade, intcodigorua,
intcodigobairro, strcep, intcep5digitos, intcodigobairro2) MATCH SIMPLE
ON UPDATE RESTRICT ON DELETE RESTRICT,
CONSTRAINT fk_endereco_refempfor_empresa2 FOREIGN KEY (intcodigoempresa)
REFERENCES empresa (intcodigoempresa) MATCH SIMPLE
ON UPDATE RESTRICT ON DELETE RESTRICT
)
WITHOUT OIDS;
Depois de importado se eu for na tabela CEP e cadastrar novo CEP, e for em
endereco_cliente e alterar um endereço já existente da o seguinte erro de
SQL
Insert or update on table endereço_cliente violates foreing key constraint
fk_endereco_ref_64010_cep key
(intcodigoestado, intcodigocidade, intcodigorua, intcodigobairro, strcep,
intcep5digitos, intcodigobairro2) = (1,4,6,4,15108-000,15090,0)
Se dropar essa base e importar novamente, executar um bkp e um restore o
erro não ocorre
Não sei se é porque estou usando o comando COPY nome_tabela FROM
'arquivo_de_dados.txt';
Não sei se ele desliga alguma coisa, já tentei da reindex database e
vaccumdb mas não adiantou
[]´s
Valdomiro
De: [email protected]
[mailto:[email protected]] Em nome de Fabrízio de
Royes Mello
Enviada em: terça-feira, 25 de agosto de 2009 14:56
Para: Comunidade PostgreSQL Brasileira
Assunto: Re: [pgbr-geral] Problemas com Importação de Dados
2009/8/25 Valdomiro <[email protected]>
Olá pessoal estou fazendo a importação de dados e usando o comando copy
from, aparentemente
tudo esta indo corretamente, mas após a importação qdo altero registros de
determinadas tabelas,
aparecem erros de foreign key, mas as chaves estrangeiras estão la, os
registros do relacionamento
das chaves estão todos la, já tentei dar um REINDEX DATABASE e um VACCUMDB e
nada adiantou,
mas quando que faço um backup pelo PG_DUMP e depois faço um RESTORE, tudo
volta a funcionar
corretamente, estou tendo que importar os dados depois fazer um backup e um
restore da base
para funcionar , gostaria de saber se alguém conhece algum procedimento que
eu possa fazer para
evitar o backup e restore da base quando os registros forem importados.
Você poderia enviar um exemplo mais prático do teu problema, com as
estruturas envolvidas, comandos executados e erros apresentados...
Assim poderemos analisar melhor teu problema...
Cordialmente,
--
Fabrízio de Royes Mello
>> Blog sobre PostgreSQL: http://fabriziomello.blogspot.com
__________ Information from ESET NOD32 Antivirus, version of virus signature
database 4367 (20090825) __________
The message was checked by ESET NOD32 Antivirus.
http://www.eset.com
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral