postgres 8.4 / Win7 64

1

Eu tenho um banco de dados em um disco rígido de um computador cuja placa-mãe morreu. O HD está bem.

Estou tentando usar XCOPY no diretório de dados e sobrescrever o conteúdo de um diretório de dados do Postgres 8.4 em outro computador.

Estou obtendo acesso negado. Eu verifiquei que o serviço Postgres está parado. O computador de destino tem duas contas de usuário, uma das quais é "Postgres", que a instalação do Postgres criou. Eu tentei este log com resultados semelhantes usando ambas as contas.

Qualquer ideia ou mesmo uma abordagem alternativa muito apreciada.

    
por Dennis 30.07.2012 / 02:49

1 resposta

2

Se eu entendi corretamente, você deseja clonar o diretório PGDATA de um sistema para outro, onde o sistema de destino já possui um diretório PGDATA (com algum conteúdo).

Nesse caso, sugiro o seguinte:

  1. Pare o Postgres em (nos dois sistemas - embora no seu caso apenas o alvo seja importante)
  2. Mova / renomeie o diretório no sistema de destino para que fique fora do caminho. (Você não quer que o diretório PGDATA do destino fique por perto quando a cópia é feita)
  3. Copie o diretório PGDATA da máquina de origem para a máquina de destino
  4. Ajuste os arquivos de configuração que precisam ser ajustados e inicie o Postgres no destino.

Isso também deve evitar problemas com processos que mantêm arquivos abertos no diretório de dados antigo, conforme foram removidos.

As advertências habituais sobre a cópia de PGDATA de um host para outro se aplicam: Certifique-se de usar a mesma versão do Postgres (ou pelo menos uma compatível), criada para a mesma arquitetura / com as mesmas opções todas as extensões correspondem, etc ...

    
por 30.07.2012 / 04:07