1-pode desabilitar as constraints e depois habilitar ...

2- tem como checar as contraints no final da insercao no momento me esqueci... da uma corrida atras


João Cosme de Oliveira Júnior



"Lembre-se que da conduta de cada um depende o destino de todos."

Seja inteligente, use Software livre!!!
LPI Certified
LPI000185554


Em 17/03/2010 às 09:34 horas, pgbr-geral@listas.postgresql.org.br escreveu:
Olá,

Em 17 de março de 2010 09:21, Jesus Rodrigues <jesusrodrigu...@gmail.com> escreveu:

JotaComm,


Ok posso usar o pgloader. Entretanto, não consigo imaginar como carregar dados para duas tabela A e B utilizando um unico arquivo. Imagine, a chave de A é colocada em B, ok. Ex:

A1
A2
B1,A1
B2,A1
B3,A1
B1,A2


Como o banco saberia que A1 tem os filhos ( B1, B2, B3)? Usar o loader é tranquilo, mas não vejo uma forma de orgazinar a estrutura das tabelas em um unico arquivo, principalmente ser for um modelo mais complexo.

Segundo o que você falou sua dúvida era como carregar dados para duas tabelas, vamos ao exemplo bem simples.

CREATE TABLE tab1(codigo INTEGER PRIMARY KEY);
    CREATE TABLE tab2(codigo INTEGER PRIMARY KEY,codigo_tab01 INTEGER REFERENCES tab1);

   Arquivo a ser carregado:

  COPY tab1 FROM '/tmp/arquivo_tabela1.txt' WITH DELIMITER ';' NULL AS ''; 
  COPY tab2 FROM '/tmp/arquivo_tabela2.txt' WITH DELIMITER ';' NULL AS '';
 

Abs

Em 17 de março de 2010 08:51, JotaComm <jota.c...@gmail.com> escreveu:

Olá,

Em 17 de março de 2010 08:32, Jesus Rodrigues <jesusrodrigu...@gmail.com> escreveu:

Pessoal,


Preciso realizar carga de grandes volumes em banco postgre. Segue um exemplo do problema.


Uma correção, o nome do banco não é Postgre e sim Postgres ou PostgreSQL. 


Tenho duas tabela A e B, em que A contém múltiplas ocorrências de B (1 para N). Gostaria de carregar essas tabelas via loader, semelhante ao comando existente no oracle. Meu modelo é mais complexo, mas esse foi apenas um pequeno exemplo. Pergunta-se:


1º Existe um processo de carga semelhante (carga via loader) no postgre?


Você quer carregar os dados de duas tabelas para um banco é isso? 

De uma olhada no pgloader [1]

2º É possível carregar as duas tabelas (A e B) utilizando um único arquivo? Por exemplo, se esse arquivo tiver os dados estruturados em forma de um xml ou de forma hierárquica. Ou é necessário possuir dois arquivos, uma para os dados da tabela A e outro para os dados da tabela B?


Pode ser um arquivo para carregar as duas tabelas. 

3º Para carga de grandes volumes, um processo via loader é mais eficiente que um processo de inserção “normal” (abre transação, insere tudo, commit, fecha fecha transação)?


Obrigado,




_______________________________________________
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral



[]s
--
JotaComm
http://jotacomm.wordpress.com

_______________________________________________
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral



_______________________________________________
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral



[]s
--
JotaComm
http://jotacomm.wordpress.com


"Esta mensagem do SERVIÇO FEDERAL DE PROCESSAMENTO DE DADOS (SERPRO), empresa pública federal regida pelo disposto na Lei Federal nº 5.615, é enviada exclusivamente a seu destinatário e pode conter informações confidenciais, protegidas por sigilo profissional. Sua utilização desautorizada é ilegal e sujeita o infrator às penas da lei. Se você a recebeu indevidamente, queira, por gentileza, reenviá-la ao emitente, esclarecendo o equívoco."

"This message from SERVIÇO FEDERAL DE PROCESSAMENTO DE DADOS (SERPRO) -- a government company established under Brazilian law (5.615/70) -- is directed exclusively to its addressee and may contain confidential data, protected under professional secrecy rules. Its unauthorized use is illegal and may subject the transgressor to the law's penalties. If you're not the addressee, please send it back, elucidating the failure."
_______________________________________________
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a