Em 20 de setembro de 2012 20:31, Flavio Henrique Araque Gurgel <
fla...@4linux.com.br> escreveu:

>
> 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.
>
>
Concordo...



> 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.
>
>
Será que revogando todos acessos a relação e após um checkpoint não é
possível fazer essa operação? Até pq o pg_upgrade faz +- o que o Telles
precisa, ou estou errado?

Fiz uns testes aqui e claro que funcionou até porque é um ambiente
controlado e não existe alta concorrencia de acesso aos objetos, mas fiz
assim:

1) Revoguei todas permissões de acesso a tabela
2) Checkpoint
3) "pg_dump -s" da tabela e restaurei esse dump no outro banco
4) Verifiquei os arquivos fisicos a serem copiados pelo catalogo na origem
(guardei o pg_class.relfilenode)
5) Verifiquei os arquivos fisicos a serem copiados pelo catalogo no destino
(guardei o pg_class.relfilenode)
6) Copiei os arquivos (pg_class.relfilenode) com o "relfilenode" na origem
para o "relfilenode" do destino (substituindo assim o datafile)
7) Recuperei as permissões de acesso a tabela no destino e os dados estavam
lá

Obs: Eu copiei TUDO (tabelas, sequencias e indices)


Obóviamente Mr. Taveira pode ser mais claro que eu :)
>
>
É verdade... colabora ai Euler...



> 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.
>
>
Imagino mesmo que não seja algo trivial


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.
>
>
Mas eu acho que o principal problema do Telles ai pode ser a restauração
mesmo...

Att,

-- 
Fabrízio de Royes Mello
Consultoria/Coaching PostgreSQL
>> Blog sobre TI: http://fabriziomello.blogspot.com
>> Perfil Linkedin: http://br.linkedin.com/in/fabriziomello
>> Twitter: http://twitter.com/fabriziomello
_______________________________________________
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Reply via email to