Você está na página 1de 6

Movendo Base de dados para outro HD ou partio

Resumo: Como fao para mudar minha Database PostgreSQL (dase de dados de mo) para um novo HD ou partio? Soluo: Se voc tiver PostgreSQL instalado na unidade C onde o Windows est instalado, mas voc deseja mover a pasta de dados, ou seja, base de dados para uma partio diferente ou HD externo para recuperar o espao no seu disco C, que pode ser feito sem ter que reinstalar. Precisamos fechar o servio do PostgreSQL para fazer isto. Windows XP Iniciar > Painel de Controle> Ferramentas Administrativas (Use viso clssica) > Servios. Windows XP Incio > Servios de Pesquisa. Isso abrir a seguinte janela:

Com o boto direito do mouse selecione "Stop" para parar o servio. Em seguida, no HD externo crie as seguintes pastas: Arquivos de Programa, dentro dessa pasta crie uma pasta PostgreSQL e dentro dessa crie uma pasta

data. Portanto, se seu HD externo a unidade I , voc ter criado o seguintes caminho: I:\Program Files\PostgreSQL\data Em seguida, v para onde voc tem a pasta de dados que ser por padro c:\program files\PostgreSQL\8.3\data a menos que voc mudou. Copie (ou recorte) todos os arquivos aqui para a nova pasta de dados que acabamos de criar acima sobre o HD externo. Se este um grande banco de dados isso pode levar algum tempo. Editar Registro: Agora precisamos dizer onde o PostgreSQL da nova pasta de dados est localizado e para isso precisamos editar o registro. Windows XP V em Iniciar > Executar e digite o seguinte na caixa de texto: regedit e pressione enter e uma nova janela deve aparecer como na imagem abaixo: Windows Vista/ W7 V em Iniciar > Todos os Programas > Acessrios > Executar e digite o seguinte na caixa de texto: regedit e pressione enter e uma nova janela deve aparecer como na imagem abaixo:

Navegue pelas pastas at este caminho: HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services \ pgsql-8.3 e voc ver a seguinte tela:

Na imagem acima ns temos em destaque a chave de que precisamos modificar. V para o caminho da imagem e com o boto direito escolha modificar e voc deve ver o seguinte:

"C: \ Program Files \ PostgreSQL \ 8,3 \ bin \ pg_ctl.exe" runservice-w-N "pgsql-8.3"-D "C: \ Program Files \ PostgreSQL \ 8,3 \ data \"

Agora precisamos apenas modificar a parte que esta em negrito. Este o local que o PostgreSQL verifica os arquivos da base de dados, mas como foi transferido para o HD externo, temos de informar o local onde foi modificado. Certifique-se de obter o caminho exatamente correto. A maneira mais fcil navegar at a pasta data no HD externo e clique com o boto direito em qualquer arquivo dentro dessa pasta e escolha Propriedades e voc ver isto:

Como voc pode ver a localizao que mostra o caminho real, no meu caso a unidade I , mas a sua poderia ser diferente basta simplesmente copiar e collo. Se eu fosse criar a chave com base na imagem que a minha velha chave seria: "C: \ Program Files \ PostgreSQL \ 8,3 \ bin \ pg_ctl.exe" runservice-w-N "pgsql-8.3"-D "C: \ Program Files \ PostgreSQL \ 8,3 \ data \"

E eu deveria mudar para isso: "C: \ Program Files \ PostgreSQL \ 8,3 \ bin \ pg_ctl.exe" runservice-w-N "pgsql-8.3"-D "I: \ Program Files \ PostgreSQL \ 8,3 \ data \" Finalmente, voc precisar configurar permisses na pasta, ao mover uma pasta para um novo PC seus privilgios do usurio antigo no podem ser transferidos por isso voc precisa se certificar que o usurio tenha privilgios suficientes ao contrrio, voc poder receber a mensagen de err " cant connect to postgreSQL error".

Para fazer isso, v a pasta principal (PostgreSQL, neste caso) e com o boto direito e escolha Propriedades no menu e v para a guia Segurana. De l, clique no boto de edio conforme a imagem abaixo:

Ento, para cada usurio no painel superior voc precisa escolher o usurio e clique em controle total no painel de fundo e, quando todos os usurios tenham controle total, clique em Aplicar e OK.

Tudo est no lugar agora. Fechar tudo e certifique-se de reiniciar o PC. Se o DB movido est funcionando bem voc pode excluir a pasta data original no drive C, se voc no tiver feito isso.

PS do tradutor: caso no funcione o endereo:


"C: \ Program Files \ PostgreSQL \ 8,3 \ bin \ pg_ctl.exe" runservice-w-N "pgsql-8.3"-D "I: \ Program Files \ PostgreSQL \ 8,3 \ data \" Modificar por: "C: \ Program Files \ PostgreSQL \ 8,3 \ bin \ pg_ctl.exe" runservice-w-N "pgsql-8.3"-D "I: \ Program Files \ PostgreSQL \ data \"

Você também pode gostar