Em 20-09-2012 20:10, Fábio Telles Rodriguez escreveu:
> Alguém sabe se é possível e como copiar tabelas fisicamente entre
> diferentes clusters?
>
> Tenho várias tabelas particionadas e preciso mover periodicamente
> partições de uma base de produção para uma base histórica. Sei que posso
> mover dados com um simples dump, mas isso custa muito, muuuuito caro.
> Queria saber se é possível, mexer com segurança debaixo do capô dos
> datafiles e fazer este tipo de movimentação.

Certamente que não. Motivos:

1) As tabelas são nomeadas com o relfilenode que é guardado em catálogo 
de sistema. Não sei como você criaria esses dados em catálogo sem correr 
riscos.

2) Algumas informações do mapa de visibilidade sobre as transações já 
concluídas são guardadas em mapa de bits no diretório pg_clog que é para 
todo o cluster

3) As informações de transações correntes são guardadas em mapa de bits 
nos diretórios pg_multixact, pg_subtrans e pg_twophase, que também são 
para todo o cluster.

Acho que você terá graves problemas se tentar algo desse tipo, linhas 
que já passaram por limpeza ou congelamento podem se tornar visíveis 
novamente, por exemplo, vide bug no pg_upgrade corrigido na versão 9.0.4 
que justamente confundia isso, e eu já perdi dados por isso.

Obóviamente Mr. Taveira pode ser mais claro que eu :)

Não sei se tem algo no todo relativo a "tablespaces portáteis" para o 
PostgreSQL, mas numa conversa com o Bruce Momjian uma vez ele me 
explicou que muitas informações das tabelas são "cluster wide" e, 
portanto, um retrabalho muito grande de código paralizaria outros 
desenvolvimentos mais importantes.

Pergunto: por que é tão caro assim fazer os dumps que você está citando? 
A restauração até entendo, mas o dump não deveria ser uma dor tão 
insuportável.

[]s

__________________________________
Flavio Henrique A. Gurgel
Líder de Projetos Especiais
Consultoria, Projetos & Treinamentos 4LINUX
Tel1: +55-11.2125-4747 ou 2125-4748
www.4linux.com.br
email: [email protected]
______________________________
FREE SOFTWARE SOLUTIONS
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a