Em 22-05-2012 12:17, Luciano Schardosim escreveu:
> Senhores,
>
> mais uma vez eu por aqui. Bom desta vez tenho a seguinte questão: Tenho
> uma versão 8.3 onde fiz o dump da base. Dump convencional com tudo o que
> tem direito dentro. Agora quero restaura-la na versão 9.1, só que...
> Agora quero que os dados fiquem em um tablespace, data_tablespace e os
> indices em outra tablespace, index_tablespace. Claro que na versão 8.3
> dados e índices estavam dentro da tablespace default do postgres. As
> perguntas são:
> - Tem como fazer isso?

Sim

> - Posso fazer esta redistribuição durante um restore?

Sim

> - Existem alguma outra alternativa rápida para distribuir dados e
> índices na troca de versão de banco?

Sim

>
> É importante pra mim que este processo seja rápido pois tenho muitas e
> acreditem, muitas bases para fazer isso.

Bom, tudo tem um preço.

>
> As alternativas que pensei e testei são trabalhosas (sem problemas) e
> demoradas (problema). Ou seja, separar dados e índices antes do dump já
> foi testado. E acreditem é demorado.

Então:
- faça o dump normal, como você falou que já fez;
- crie o banco de dados na versão nova;
- crie as tablespaces desejadas;
- abra o arquivo de dump num bom editor de textos (recomendo vi);
- ao final de cada CREATE TABLE antes do ponto-e-vírgula coloque 
TABLESPACE xxxx
- ao final de cada CREATE INDEX faça o mesmo;

Restaure seu dump na versão mais nova e seja feliz. Os dados e índices 
já irão pras tablespaces previamente criadas.

Realmente, mover dados e índices depois de criados será mais demorado.

[]s

Flavio Henrique A. Gurgel
Consultor e Instrutor 4Linux
Tel: +55-11-2125-4747
www.4linux.com.br
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a