[Resolvido] Erro na conexão com o Postgres - Connection refused

8 respostas
K

Olá!

Migrei meu projeto para o linux e estou com problemas para conectar com a Base:

org.postgresql.util.PSQLException: Connection refused. Check that the hostname and port are correct and that the postmaster is accepting TCP/IP connections. at org.postgresql.core.v3.ConnectionFactoryImpl.openConnectionImpl(ConnectionFactoryImpl.java:123) at org.postgresql.core.ConnectionFactory.openConnection(ConnectionFactory.java:66) at org.postgresql.jdbc2.AbstractJdbc2Connection.<init>(AbstractJdbc2Connection.java:124) at org.postgresql.jdbc3.AbstractJdbc3Connection.<init>(AbstractJdbc3Connection.java:30) at org.postgresql.jdbc4.AbstractJdbc4Connection.<init>(AbstractJdbc4Connection.java:29) at org.postgresql.jdbc4.Jdbc4Connection.<init>(Jdbc4Connection.java:24) at org.postgresql.Driver.makeConnection(Driver.java:386) at org.postgresql.Driver.connect(Driver.java:260) at java.sql.DriverManager.getConnection(Unknown Source) at java.sql.DriverManager.getConnection(Unknown Source) at org.hibernate.connection.DriverManagerConnectionProvider.getConnection(DriverManagerConnectionProvider.java:110) at org.hibernate.tool.hbm2ddl.ManagedProviderConnectionHelper.prepare(ManagedProviderConnectionHelper.java:28) at org.hibernate.tool.hbm2ddl.SchemaExport.execute(SchemaExport.java:180) at org.hibernate.tool.hbm2ddl.SchemaExport.create(SchemaExport.java:133) at util.GeraBanco.main(GeraBanco.java:12) Caused by: java.net.ConnectException: Connection refused at java.net.PlainSocketImpl.socketConnect(Native Method) at java.net.PlainSocketImpl.doConnect(Unknown Source) at java.net.PlainSocketImpl.connectToAddress(Unknown Source) at java.net.PlainSocketImpl.connect(Unknown Source) at java.net.SocksSocketImpl.connect(Unknown Source) at java.net.Socket.connect(Unknown Source) at java.net.Socket.connect(Unknown Source) at java.net.Socket.<init>(Unknown Source) at java.net.Socket.<init>(Unknown Source) at org.postgresql.core.PGStream.<init>(PGStream.java:62) at org.postgresql.core.v3.ConnectionFactoryImpl.openConnectionImpl(ConnectionFactoryImpl.java:77) ... 14 more

Já modifiquei o arquivo pg_hba.conf com as permissões:

local   all         postgres                          ident sameuser
# TYPE  DATABASE    USER        CIDR-ADDRESS          METHOD
# "local" is for Unix domain socket connections only
local   all         all                               ident sameuser
# IPv4 local connections:
host    all         all         127.0.0.1/32          md5
# IPv6 local connections:
host    all         all         ::1/128               md5
host 	all 	all 		127.0.0.1 		trust 
host 	all 	all 		0.0.0.0/0 		trust

Continua na mesma, e agora? :frowning:

8 Respostas

O

dentro do pg_hba.conf o que vc mudou ???

geralmente coloco assim la no pg_hba

# "local" is for Unix domain socket connections only
local   all         all                               password
# IPv4 local connections:
host    all         all         127.0.0.1/32          password
host    all         all         192.168.0.0/24      password
# IPv6 local connections:
host    all         all         ::1/128               password

Note essa linha

host all all 192.168.0.0/24 password

libero toda minha rede 192.168.0… como password mas pode ser trocado por trust …

tente conectar por um client primiero para certificar que não é problema de conexao e ai investigar o software.

Espero ter ajudado.

K

Modifiquei meu arquivo e deu no mesmo.

Se eu conecto como:

su postgres

$ psql nome_base_de_dados

ele conecta sem problemas.

O

kyuri:
Modifiquei meu arquivo e deu no mesmo.

Se eu conecto como:

su postgres

$ psql nome_base_de_dados

ele conecta sem problemas.

mas se vc esta usando o psql sem o parametro -h vc esta conectando localmente … por default ele aceita conexoes locais depois de mudar tenta conectar de outra maquina … ou seus testes estão sendo feitos na mesma maquina onde se encontra o banco ???

K

Aí que está, meus testes são no mesmo micro que está o banco. :?

J

Connection con = DriverManager.getConnection(“jdbc:postgresql://localhost/seuDB”, user, password);

1º - Tenta colocar localhost;
2º - Você esta tentando fazer a conexão com o login admin postgres? Se sim, crie um novo usuário e tente com ele.

até++;

K

Sim, no terminal consigo logar como admin, mas no pgAdmin III não conecta!

Ocorre o erro: “Server doesn`t listen” :?

K

Ele estava configurado para a porta 5433, mas agora ao tentar conectar via pgAdmin III ocorre o erro:

Error connecting to the server: FATAL: password authentication failed for user “postgres”

O estranho é que eu conecto com a mesma senha pelo terminal

K

Consegui finalmente!

Reinstalei o postgres e ele foi para a porta default.
Meu arquivo pg_hba.conf ficou o seguinte:

# Database administrative login by UNIX sockets
local   all         postgres                          ident sameuser

# TYPE  DATABASE    USER        CIDR-ADDRESS          METHOD

# "local" is for Unix domain socket connections only
local   all         all                               ident sameuser
# IPv4 local connections:
host    all         all         127.0.0.1/32          md5
# IPv6 local connections:
host    all         all         ::1/128               md5

host    all     all         127.0.0.1       trust   
host    all     all         0.0.0.0/0       trust

E alterei a senha do postgres usando o comando

# sudo -u postgres psql template1
$ ALTER USER postgres WITH PASSWORD 'sua_senha';

E funcionou.

Criado 5 de junho de 2009
Ultima resposta 11 de jun. de 2009
Respostas 8
Participantes 3