Olá,

O comando copy envia os dados para a saída padrão stdout ou para um arquivo.

Eu não entendi uma coisa. Quando você faz a cópia os dados originais
são mantidos na tabela ou ficarão armazenados apenas na tabela de
backup.

Você poderia usar uma trigger ou derrepente uma rule para disparar um
processo que faça de forma automática a cópia dos dados da tabela
original para a tabela de backup, isto é, após a verificação do prazo
de 20 dias os dados são copiados para a tabela de backup.

Ajudei?

[]s


2008/10/14 Mr J.L. <[EMAIL PROTECTED]>:
> 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
>



-- 
João Paulo
www.dextra.com.br/postgres
PostgreSQL
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a