2010/3/11 Jose Luis Ramos <jose.ramos.caj...@gmail.com>:

José, por favor, *não responda* mensagens no modo Digest!!!

> Leaonardo, minha situação é o seguinte: tenho um conjunto de tabelas do tipo
> xyz<ano><mes><dia>, uma para cada dia do mês, e como elas são muito grandes,
> pois são geradas por equipamentos de telefonia, meu objetivo é gerar uma
> base "reduzida" com x % de de um conjunto dessas tabelas, sendo que esse
> conjunto eu vou determinar como paràmetros de entrada, ou seja, data inicial
> e data final da amostra e o percentual (os x%). Pensei em fazer uma função
> que gerasse tabelas temporárias com os dados desejados e ja executar o
> pg_dump das mesmas de dentro da função, isso para facilitar para o operador,
> pois é uma necessidade da área comercial, para levar uma base que seja
> "portátil" em um notebook da empresa. Ta difícil !!!

Voce pode utilizar o comando COPY:

COPY (
SELECT coluna1, coluna2 FROM tabela_particao_1
 WHERE data BETWEEN '2000-10-10' AND '2000-10-11'
UNION ALL
SELECT coluna1, coluna2 FROM tabela_partcicao_2
 WHERE data BETWEEN '2000-10-11'  AND '2000-10-12'
) TO '/backup/meu_backup_consolidado';

Coloque o COPY dentro de uma função e receba como parametros as datas.

Obviamente que vc não vai precisar do UNION se voce estiver utilizando
o conceito de herança (particionamento) do postgres.

Abraço!

-Leo
-- 
Leonardo Cezar
http://www.aslid.org.br
http://postgreslogia.wordpress.com
_______________________________________________
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a