Altere o usuário do banco de dados postgreSQL do usuário do Windows no CMD

2

instalei recentemente o PostgreSQL no Windows 7, cada vez que eu tento usar o CMD para executar o comando SQL, recebo esse erro

createdb: could not connect to database template1: FATAL: password authentication failed for user "R-61"

Onde o R-61 é o nome de usuário da minha máquina Windows.

Aqui está como eu uso o CMD com o pgSQL

  • primeiro cd para a pasta bin do pgSQL $ cd C:\xampp\pgsql.1\bin
  • eu tento criar um banco de dados $ createdb NEWDATABASE
  • Eu recebo uma solicitação para inserir uma senha. este é o lugar onde sou confuso como eu não sei o que senha. Eu tentei minha senha de usuário de janela, senha para o usuário postgres super, nenhum parece funcionar. esta é a mensagem de erro que recebo createdb: could not connect to database template1: FATAL: password authentication failed for user "R-61"

    Alguém sabe a solução para isso? Estou pensando em mudar o formulário do usuário R-61 para postgres superuser iria funcionar, mas eu não sei como fazê-lo.

Sua ajuda é muito necessária.

    
por Collizo4sky 23.05.2014 / 19:37

2 respostas

2

createdb é um comando que precisa se conectar ao servidor como qualquer outro comando do cliente (mesmo quando executado no próprio servidor) e, como tal, requer um usuário do banco de dados para se conectar.

Se você não especificar um usuário do banco de dados com a opção -U username , ele precisará do nome de usuário do sistema operacional, portanto, a referência a "R-61" na mensagem de erro. A senha solicitada é a senha de um usuário não existente do banco de dados R-61 .

Há também outras opções, como o host com o padrão localhost e a porta com o valor padrão 5432 . Consulte o página de manual para todos eles.

Como você mencionou que conhece a senha de superusuário do postgres, a solução mais simples seria usar o usuário postgres para iniciar o comando. Faz sentido de qualquer maneira, porque em uma instalação nova, esse usuário seria o único que tem permissão para criar um banco de dados.

Experimente createdb -U postgres newdatabase

Ele deve pedir uma senha e essa será a senha do usuário do banco de dados postgres .

Se não pedir uma senha, significa que a política de segurança em pg_hba.conf está configurada dessa maneira. Se a senha for perdida (ou nenhuma senha tiver sido definida, o que é o caso de algumas instalações automatizadas, especialmente no Unix), pg_hba.conf precisa ser alterado e o serviço recarregado para autorizar conexões sem senha, pelo menos temporariamente para definir um nova senha.

    
por 25.05.2014 / 13:52
0

Eu não tenho experiência direta com isso, mas eu olhei para ele e acho que é isso que você está procurando. Eu encontrei um problema semelhante que sugere que o PostgresSQL no Windows pede uma senha durante a instalação. Essa senha é provavelmente a senha da conta de administrador do PostgresSQL. A conta de administrador deve trabalhar para se conectar a esse banco de dados e ajustar as permissões para ele.

Como alternativa, editar o arquivo pg_hba.conf para confiar nas conexões de usuários de determinados usuários e locais deve permitir que você se conecte também. Você desejará corrigir o problema de permissão e reverter as linhas pg_hba.conf editadas.

A discussão eu encontrei isso em: Re: Senha padrão Documentação no arquivo pg_hba.conf: 19.1. O arquivo pg_hba.conf

    
por 23.05.2014 / 20:21

Tags