Desculpe, explicando melhor,
   Existe uma tabela que devo manter os registros de no max 10 dias, essa 
verificacao eu deverei fazer a cada 20 dias, entao, a cada 20 dias eu teria que 
ir na tabela "x" fazer uma copia de tudo "por garantia" para a tabela x_bachup.

gerar a tabela com apenas os regs que preciso:
$ select * into x1 where data > '2008-10-04';

apagar a tabela principal (melhor q fazer delete)
$ drop table x;

renomear a tabela para que ela substitua a excluida:
$ alter table x1 rename to x;

O problema é que nao sei se esse processo seria o mais correto, crei que deve 
ter um modo que garanta um performance melhor, uma vez que, serao copiados 
alguns milhoes de regs.

o "copy(select * from tabela)" eu possofazer direto pra outra tabela, tipo, 
fazer o copy de um select jogando sua saida p/ outra tabela com estrutura 
igual,...?


Caso tenha alguma sugestao, agradeço.

Obrigado.

  


--- Em ter, 14/10/08, Jota <[EMAIL PROTECTED]> escreveu:

> De: Jota <[EMAIL PROTECTED]>
> Assunto: Re: [pgbr-geral] copia de tabelas
> Para: [EMAIL PROTECTED], "Comunidade PostgreSQL Brasileira" 
> <[email protected]>
> Data: Terça-feira, 14 de Outubro de 2008, 10:41
> Olá,
> 
> Não entendi muito bem o que você quer. Mas vou tentar
> ajuda-lo.
> 
> Você pode fazer copy(select * from tabela).
> 
> Outra forma para copiar várias tabelas é através do
> pg_dump e por
> padrão ele usa como método o copy para fazer essa cópia.
> 
> Sem índices e chaves é mais rápido mesmo. Você ainda
> pode aumentar o
> maintenance_work_mem, checkpoint_segments e desabilitar
> fsync.
> 
> Não esqueca de rodar o analyze no final para atualizar as
> estatísticas do banco.
> 
> []s
> 
> 
> 
> 2008/10/14 Mr J.L. <[EMAIL PROTECTED]>:
> > Pessoal,
> > quando quero copiar uma tabela costumo fazer:
> > select * into tabela2 from tabela1;
> >
> > existe um modo mais correto de copiar tabelas? um modo
> que faria copia em menos tempo de tabelas grandes? algo de
> melhor performance?
> >
> > outra coisa, quando faço assim, indices e referencias
> nao sao criados.
> >
> > pensei em algo como o copy, mais nao consegui fazer um
> copy de uma tabela para outra ao mesmo tempo.
> >
> > aguardo a ajuda, obrigado.
> >
> >
> >      Novos endereços, o Yahoo! que você conhece.
> Crie um email novo com a sua cara @ymail.com ou
> @rocketmail.com.
> > http://br.new.mail.yahoo.com/addresses
> > _______________________________________________
> > pgbr-geral mailing list
> > [email protected]
> >
> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
> >
> 
> 
> 
> -- 
> João Paulo
> www.dextra.com.br/postgres
> PostgreSQL


      Novos endereços, o Yahoo! que você conhece. Crie um email novo com a sua 
cara @ymail.com ou @rocketmail.com.
http://br.new.mail.yahoo.com/addresses
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a