Em 16/12/07, Digao<[EMAIL PROTECTED]> escreveu:
> Boa tarde,
>
> Estou com um HD lotado e preciso de espaço urgente. Coloquei outro HD na
> máquina, maior. Então preciso mover os dados de um pro outro. Uso
> tablespaces. Cada BD tem um tablesapce apontando para uma pasta. Como que
> faço para jogar os dados para o novo HD?
>
> Já tentei copiar os dados de um HD pro outro, e depois alterar o campo
> spclocation da tabela pg_tablespace.

Nunca, repito NUNCA altere os dados em qualquer tabela de sistema.
Isto não funciona e pode causar danos irreparáveis.

Mas não deu certo. Vi que o link na pasta pgsql/data/pg_tblescp
continua apontando para a pasta antiga. O que
> fazer? Posso simplesmente alterar o link?
>
> Ou tem alguma outra forma de fazer?
>

Existem duas abosdagens uma via SO outras via PostgreSQL:

1) Via SO
- Crie as partições no novo disco;
- Desconecte todos os usuários (alterando o pg_hba.conf por exemplo);
- Faça um backup completo de toda a base;
- Baixe o PostgreSQL;
- Monte a nova partição do novo disco para um ponto de montagem provisório;
- Copie o Tablespace a ser movido para a nova partição (tenha certeza
de que o PostgreSQL não está rodando antes)
- Apague todo o conteúdo na pasta original do Tablespace
(certifique-se que a cópia foi realizada com sucesso e que o backup
também foi realizado antes);
- Desmonte a partição nova do ponto provisório e monte no lugar do
Tablespace correto. Em *nix isso é muito simples, no Windows, sei que
é possível mas é um pouco mais complexo.
- Suba novamente o PostgreSQL;
- Teste os dados no novo Tablespace;
- Restaure o acesso aos usuários;

2) Via PostgreSQL
- Crie as partições no novo disco;
- Monte as novas partições em pontos de montagem adequados para
receber os novos tablespaces;
- Desconecte todos os usuários (alterando o pg_hba.conf por exemplo);
- Faça um backup completo de toda a base;
- Crie novos Tablespaces nas novas partições com o comando CREATE TABLESPACE;
- Utilize os comandos ALTER TABLE e ALTER INDEX com a opção SET
TABLESPACE para mover tabelas e índices para os novos Tablespaces;
- Teste os dados no novo Tablespace;
- Restaure o acesso aos usuários;


Qual abordagem utilizar vai depender muito de como você quer
distribuir a contenção de discos nos objetos. A opção de alterar via
SO é mais rápida e simples, mas não lhe permite um ajuste fino de
quais objetos ficarão em cada disco.

Espero ter ajudado,
[]s
Fábio Telles
-- 
blog: http://www.midstorm.org/~telles/
e-mail / jabber: [EMAIL PROTECTED]
_______________________________________________
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a