Recuperar BD com Usuário e Senha perdido e Sem Backup Postgresql

PostgreSQL

12/04/2016

Estou com uma pasta da instalação de um banco de dados o qual a maquina foi formata e somente copiada a pasta da instalação, sendo que não sei o usuário e senha antigo e preciso de alguma forma recuperar as informações. Esta e uma base do Postgresql.

Alguém tem alguma luz pra me dar que ja não sei mais o que fazer.

Desde ja agradeço a atenção.
Jeremias Santos

Jeremias Santos

Curtidas 0

Melhor post

Alan Mario

Alan Mario

12/04/2016

jeroqueiroz Boa tarde!

Já tentou fazer esse procedimento?

[url]https://ciranda.me/tsdn/base-de-conhecimento/post/postgresql-recuperando-a-base-de-dados-sem-backup[/url]
GOSTEI 1

Mais Respostas

Jeremias Santos

Jeremias Santos

12/04/2016

jeroqueiroz Boa tarde!

Já tentou fazer esse procedimento?

[url]https://ciranda.me/tsdn/base-de-conhecimento/post/postgresql-recuperando-a-base-de-dados-sem-backup[/url]


Não tinha feito, mas vou tentar estes procedimentos pra ver o que acontece. Desde ja agradeço a atenção e retorno com o resultado após executar os passos.
GOSTEI 0
Alan Mario

Alan Mario

12/04/2016

No aguardo jeroqueiroz.
GOSTEI 0
Jeremias Santos

Jeremias Santos

12/04/2016

Os Comando não foram reconhecidos no Windows preciso configurar alguma variável de ambiente?

Se eu aponto desde a instalação para a pasta Data antiga ele instala, porem tem o problema do usuário que não sei a senha.

Somente mover a pasta da forma que esta informando no exemplo seria o mesmo que informar desde a instalação, neste caso caio no segundo problema do usuário e senha.
GOSTEI 0
Fabiano Carvalho

Fabiano Carvalho

12/04/2016

Veja esses dois links.

http://www.depesz.com/2008/11/28/recovering-lost-postgresql-password/

http://dba.stackexchange.com/questions/44586/forgotten-postgresql-windows-password

O primeiro é um tutorial e o segundo uma dúvida que foi sanada.
GOSTEI 1
Jair N.

Jair N.

12/04/2016

Boa Tarde, por curiosidade, você tem a pasta ".../data/..." ? você sabe a versão do PostgreSQL que estava sendo utilizado?
Bem em tudo, existem macetes e gambiarras que ajudam a resolver, eu mesmo tenho meu método personalizado de recuperação, principalmente de bases bichadas que não conseguem fazer backup...

Qual o seu ambiente Windows?
Qual a sua versão do PostgreSQL?

Aguardo...
GOSTEI 0
Alan Mario

Alan Mario

12/04/2016

Desculpa a solução que indiquei foi bem superficial, aguardar se as outras soluções indicadas te ajudam.
GOSTEI 0
Jeremias Santos

Jeremias Santos

12/04/2016

Estava com Windows 7. Versão do Postgres é 9.3. Foi copiada toda a posta do C:\Arquivos de Programas -> PostgreSQL, dentro dela tem todos os arquivos inclusive a pasta Data.
GOSTEI 0
Jeremias Santos

Jeremias Santos

12/04/2016

Boa Tarde, por curiosidade, você tem a pasta ".../data/..." ? você sabe a versão do PostgreSQL que estava sendo utilizado?
Bem em tudo, existem macetes e gambiarras que ajudam a resolver, eu mesmo tenho meu método personalizado de recuperação, principalmente de bases bichadas que não conseguem fazer backup...

Qual o seu ambiente Windows?
Qual a sua versão do PostgreSQL?

Aguardo...



Alguma Resposta?
GOSTEI 0
Jeremias Santos

Jeremias Santos

12/04/2016

Desculpa a solução que indiquei foi bem superficial, aguardar se as outras soluções indicadas te ajudam.


Tranquilo. Agradeço a atenção.
GOSTEI 0
Jair N.

Jair N.

12/04/2016

Boa Tarde, não sei do seu caso, passo o que já consegui resolver com de outros usuários
siga os passo-a-passo, de como eu já resolvi.

===============================================================================
POSTGRESQL : Criando um Banco de Dados no Diretório do sistema
===============================================================================
-- Pegar os dados no caminho onde se encontra as bases de dados Antiga...
-------------------------------------------------------------------------------
1º) Caso não saiba a versão do banco ou não tenha como pegar esta informação.
Veja no diretório de um dos bancos as seguintes tabelas editando como texto...

Diretório Exemplo: ...\postgresql\data\
- Arquivo (PG_VERSION) apresenta a versão do banco de dados que foi criado;

Diretório exemplo: ...\postgresql\data\global\
- Arquivo (PG_DATABASE) apresenta os bancos de dados com nome e o "oid" deste;

2º) Caso necessário. Pegar no banco de dados do cliente ou o atual...
PSQL -U postgres
# SELECT oid, * FROM pg_database;

-- Exemplo: No diretório temos o arquivo:
oid = ...\postgresql\data\base\<10001>
// Este número <10001> é o banco de dados...

3º) Criar um banco de dados novo...
CREATEDB -U <usuario> -O <senha> -E <linguagem> <nome do banco>

4º) Veja o <oid> deste banco de dados:
PSQL -U postgres
# SELECT oid, * FROM pg_database;
Exemplo: <98765>,<nome do banco>,<datdba>,<codificação>....

5º) Substitua no diretório, o arquivo criado <98765> este pelo anterior <10001> só que
renomeado com o número do atual <98765> para <10001>. O arquivo terá que ser renomeado
agora pelo número <98765> para ser reconhecido como banco de dados criado.

6º) Interessante para contornar situações desagradáveis.
Diretório exemplo: ...\postgresql\data\global\
- Arquivo (CONFIG_EXEC_PARAMS) apresenta configuração dos Locais de banco de dados etc;

===============================================================================
POSTGRESQL : Alterando o Usuário (Login Roles)
===============================================================================
Veja no diretório de um dos bancos as seguintes tabelas editando como texto...
Diretório Exemplo: ...postgresql\data\global\
Arquivo (PG_AUTH) apresenta o hast de identificação dos usuários deste;

-- faça uma consulta para pegar a nova password
SELECT pg_catalog.md5('postgres') AS hash

--DROP USER postgres;
CREATE USER postgres WITH PASSWORD 'doido';

-- Alterando o usuário quando "doido" no módulo "MD5" Hash é tudo nome e senha...
ALTER USER postgres WITH PASSWORD 'postgres';
Hash: "md53175bce1d3201d16594cebf9d7eb3f9d" -- Não me pergunte veja depois no arquivo do PG_DATABASE

Qualquer dúvida.. .informe...

Atc.
GOSTEI 0
Alan Mario

Alan Mario

12/04/2016

Anotado essa dica, esses dois passos são obrigatorios?
GOSTEI 0
Jair N.

Jair N.

12/04/2016

Anotado essa dica, esses dois passos são obrigatorios?

Não o segundo é "caso deseja mudar a senha do usuário master no banco de dados"...

OBS: Foi cometida as seguintes erratas dificultando a interpretação

POSTGRESQL : Criando um Banco de Dados no Diretório do sistema
OBS veja o número que identifica o diretório do banco de dados "oid"

5º) Substitua o diretório, o "oid" criado <98765>, este pelo anterior <10001>, só que
renomeando o número atual do "oid" <10001> para este novo <98765>. Teremo o diretório
renomeado sendo este para <98765>..

e no

POSTGRESQL : Alterando o Usuário (Login Roles)

-- Alterando o usuário quando "postgres" o módulo "MD5" o "Hash" é tudo nome e senha...
ALTER USER postgres WITH PASSWORD 'postgres';
Hash: 'md53a9d2f8b5f924fe4c62caaae9eb9a747'
OBS.: Veja a necessidade disto no arquivo (PG_AUTH).
GOSTEI 0
Jeremias Santos

Jeremias Santos

12/04/2016

Obrigado a todos. A principio conseguir obter o Banco antigo e esta todas as tabelas, estou confirmando as informações.
GOSTEI 0
POSTAR