2013/3/25 Anderson Marques <[email protected]>

> Boa tarde, pessoal tenho o seguinte senario, foi dado um drop na base por
> "acidente", ai foi retirado o hd,


Drop como? Via SQL mesmo?


> feito um restore com programas de terceiros e blz, temos os arquivos das
> bases dentro de pasta 18800 que fica dentro da DATA, a questão agora é como
> fazer o postgres enchegar essa base de novo, foi colocado dentro da pasta
> data da mesma versão que ela foi dropada mas nada. existe algo do tipo
> recompilar no postgres, tem como eu reutilizar essa base?
>
>
Primeiro. Você tem um backup incremental? Um dump? A cópia de todo
diretório base? Se sim, restaure esses e seja feliz... Até mesmo se tiver
um mais antigos, desde que o esquema da base seja o mesmo, você pode tentar
restaurá-lo e depois executar um rsync para atualizar os dados.

Se não... Admito que estou chutando um pouco, mas tente o seguinte:
1. Não copie os arquivos para dentro do $PGDATA/base;
2. Crie um cluster novo em folha (sem nadica de nada);
3. Crie a base de dados e veja o oid criado (SELECT oid FROM pg_database
WHERE datname = '<nome da sua base>');
4. Dê um stop no PostgreSQL;
5. Substitua o diretório base/<oid gerado> pelo sua cópia;
6. Inicie o PostgreSQL (pode testar uma conexão em modo single antes para
ver se consegue se conectar);
7. "Se deu certo", use o pg_dump para gerar um backup lógico;
8. Pare tudo, delete tudo, iniciei tudo de novo e restaure o backup lógico.

A chance disso não dar certo é bem grande. É possível que haja
dessincronização com o xlog, na sequência de oid ou pela falta de usuários
(nesse último caso talvez ainda tenha outra solução).

Atenciosamente,
-- 
Matheus de Oliveira
Analista de Banco de Dados
Dextra Sistemas - MPS.Br nível F!
www.dextra.com.br/postgres
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a