Como conectar o Postgres ao servidor localhost usando pgAdmin no Ubuntu?

102

Eu instalei o Postgres com este comando

sudo apt-get install postgresql postgresql-client postgresql-contrib libpq-dev

Usando psql --versionno terminal eu recebopsql (PostgreSQL) 9.3.4

então eu instalei pgadmincom

sudo apt-get install pgadmin3

Mais tarde, abri a IU e criei o servidor com essas informações

insira a descrição da imagem aqui

mas esse erro aparece

insira a descrição da imagem aqui

como posso consertar isso?

TuGordoBello
fonte
baixe o postgresql da v9.3 deste link https://www.enterprisedb.com/downloads/postgres-postgresql-downloads#windows e execute novamente o pgadmin III você obterá o host local já instalado, não precisa se conectar.
Dhavalkumar Prajapati

Respostas:

29

Você não criou um usuário db. Se for apenas uma instalação nova, o usuário padrão é postgrese a senha deve estar em branco. Depois de acessá-lo, você pode criar os usuários de que precisa.

Eric Workman
fonte
43
Se eu fizer isso, este erro aparecerá Error connecting to the server: fe_sendauth: no password supplied
TuGordoBello
Aqui no opensuse, a senha do usuário postgres não está em branco, mas indefinida (um ponto de exclamação em / etc / shadow). Nenhum login de senha possível.
Str.
Apenas testei para verificar, e sim, Pg emite password authentication failedpara um usuário que não existe ao usar md5auth.
Craig Ringer
1
como você cria um usuário?
ahnbizcad
2
"Erro ao conectar ao servidor: fe_sendauth: nenhuma senha fornecida"
Cerin
174

Modifique a senha do postgres de função:

sudo -u postgres psql postgres

alter user postgres with password 'postgres';

Agora conecte-se ao pgadmin usando o nome de usuário postgres e a senha postgres

Agora você pode criar funções e bancos de dados usando pgAdmin

Como alterar a senha de usuário do PostgreSQL?

WiredIn
fonte
10
ou você pode apenas .. 'sudo -u postgres psql' e então digitar '\ senha'. aperte enter. insira a nova senha.
Jay Modi
1
Esta deve ser a resposta aceita. Obrigado. Isso ajudou muito.
Pramesh Bajracharya
25

Isso me ajuda:


1. Abra o arquivo pg_hba.conf

sudo nano /etc/postgresql/9.x/main/pg_hba.conf

e mude esta linha:

Database administrative login by Unix domain socket
local   all             postgres                                md5

para

Database administrative login by Unix domain socket
local   all             postgres                                trust
  1. Reinicie o servidor

    reinicialização postgresql de serviço sudo

  2. Faça login no psql e defina a senha

    psql -U postgres

ALTER USER postgres with password 'new password';

  1. Abra novamente o arquivopg_hba.conf e altere esta linha:
Login administrativo do banco de dados por soquete de domínio Unix
    local de confiança de todos os postgres

para

    Login administrativo do banco de dados por soquete de domínio Unix
    local all postgres md5
  1. Reinicie o servidor

    reinicialização postgresql de serviço sudo


Funciona.

insira a descrição da imagem aqui


Links úteis
1: PostgreSQL (de ubuntu.com)

Artem Solovev
fonte
Isso resolveu meu problema, mas você pode explicar por que alterar o login do administrador do banco de dados para trust antes de definir a senha do postgres é necessário em alguns casos?
HostMyBus
@HostMyBus Oi cara, na verdade eu não me lembro desse caso. Tente buscar algumas respostas na web (acho que há uma boa explicação sobre isso)
Artem Solovev
@HostMyBus este é um recurso de segurança. Se estiver definido como confiável, qualquer usuário da máquina pode fazer login no banco de dados.
Simon Zyx
E você realmente não precisa disso: basta usar a resposta WiredIn
Simon Zyx
4

Crie um usuário primeiro. Você deve fazer isso como usuário postgres. Como a conta do sistema postgres não tem senha atribuída, você pode definir uma senha primeiro ou proceder assim:

sudo /bin/bash
# you should be root now  
su postgres
# you are postgres now
createuser --interactive

e o programa irá alertá-lo.

Str.
fonte
sudo -u postgres -ilevará a uma pergunta sobre a senha. Não há nenhuma senha no meu sistema que você possa inserir. Minha proposta sempre funciona (hm, espero).
Str.
sudo -u postgress -inão leva a dúvidas sobre a senha (pelo menos no meu Ubuntu após a instalação padrão). Ou createuser --interactiveisso não leva ao prompt de senha ... :(
Ondřej Doněk
@ OndřejDoněk minha proposta foi sudo / bin / bash primeiro, você fez isso?
Str.
o que você deve digitar para a função?
ahnbizcad
$ createuser --interactive Digite o nome da função a ser adicionada: A postgres nova função deve ser um superusuário? (s / n)y
Elise Chant
2

Primeiro você deve alterar a senha usando o terminal. (nome de usuário é postgres)

postgres = # \ senha postgres

Em seguida, você será solicitado a inserir a senha e confirmá-la.

Agora você será capaz de se conectar usando pgadmin com a nova senha.

Pubudu
fonte
0

se você abrir o psqlconsole em uma janela de terminal, digitando

$ psql

O nome de usuário do seu superusuário será mostrado antes de =#, por exemplo:

elisechant=#$

Esse será o nome de usuário que você deve usar para localhost.

Elise Chant
fonte