Recuperar BD com Usuário e Senha perdido e Sem Backup Postgresql
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.
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
Curtidas 0
Melhor post
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]
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
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]
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
12/04/2016
No aguardo jeroqueiroz.
GOSTEI 0
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.
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
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.
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.
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...
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
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
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
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...
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
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.
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.
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
12/04/2016
Anotado essa dica, esses dois passos são obrigatorios?
GOSTEI 0
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
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