Estou tentando configurar um banco de dados PostGIS usando o PostgreSQL 9.1 no Ubuntu 12.04. Configurei o banco de dados, criei uma conta de usuário "jay" sem senha, adicionei funcionalidade espacial seguindo a seção 2.5 aqui e configurei meu pg_hba.conf para local
:
# "local" is for Unix domain socket connections only
local all all trust
Consigo me conectar ao banco de dados usando o pgAdminIII, não precisando de senha para conectar, mas a conexão falha quando tento conectar via PostGIS ou com QuantumGIS. Aqui está uma captura de tela da janela de conexão no QuantumGIS:
Analisando um pouco o problema, me deparei com este post que me levou a tentar conectar pelo terminal usando psql -U jay -h localhost gis
. psql
solicitou uma senha, apertei enter porque não havia definido uma senha e retornou psql: fe_sendauth: no password supplied
. Tentei novamente, desta vez fornecendo minha senha de usuário do Ubuntu, que retornou
psql: FATAL: password authentication failed for user "jay" FATAL: password authentication failed for user "jay"
Em seguida, tentei definir uma senha para jay
usar ALTER USER
e inserir essa senha no prompt, mas também falhou. Claramente, não consigo me conectar. No entanto, estou tendo problemas para descobrir quais etapas de solução de problemas devem ser seguidas.
Alguma ideia?
Apenas não deixe o campo Banco de dados vazio na caixa de diálogo de conexão.
Quando deixado em branco, ele tentará se conectar a um banco de dados com o nome de login do seu sistema operacional, que provavelmente não existe no seu caso.
O campo Host deve ser deixado vazio para usar uma conexão de soquete de domínio Unix, conforme sugerido pelo trecho de seu
pg_hba.conf
mostrado na pergunta.Quando você coloca
localhost
neste campo, ele tenta uma conexão TCP que não é o que é chamadolocal
napg_hba.conf
terminologia, de modo que a entradalocal all all trust
não corresponderá a tal conexão.Primeiro tente se conectar ao banco de dados como o usuário postgres
Em seguida, crie um novo usuário e, por que não criar um banco de dados, se ainda não o fez?
Agora você deve ser capaz de se conectar como você mesmo
EDITAR:
Além disso, procure em seu arquivo postgresql.conf
Se
listen_address
estiver comentado, o postgresql não responderá a nenhuma solicitação ou poderá ser configurado para ouvir apenas algo diferente do localhost. O '*' diz para ouvir solicitações de qualquer endereço.EDIÇÃO 2:
Além disso, tente usar 0.0.0.0 em vez de localhost para a configuração do host.
Eu tive um problema semelhante, mas meu número de porta estava desativado aqui está minha postagem original
pg_hba.conf
Conecte-se ao qgis sem um nome de usuário e senha.
Parece provável que sua porta esteja errada. Lembre-se de que o Ubuntu/Debian compila o psql para se conectar em uma porta diferente da 5432, o padrão upstream. Eles fazem isso para que você possa ter diferentes versões instaladas do servidor em execução ao mesmo tempo. Os diferentes clientes também são compilados para diferentes portas padrão. Infelizmente, o qgis do Debian/Ubuntu não é compilado com a porta padrão correspondente do servidor mais recente e assume uma porta padrão de 5432. Conecte-se com o psql e execute
SHOW port;
ou verifique o--help
para encontrar a porta padrão à qual seu psql se conecta,psql --help | grep PORT
. Você terá que configurar esta porta no qgis porque o padrão qgis de 5432 provavelmente não é aplicável.Aqui, eu é minha tela de conexão para provar que funciona. Observe que minha porta está definida como 5433, não 5432.