Jdbc postgresql

8 respostas
engos

estou tendo a seguinte exception quando tento conectar em em banco de dados postgresql:

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.jdbc1.AbstractJdbc1Connection.openConnection(AbstractJdbc1Connection.java:204)

at org.postgresql.Driver.connect(Driver.java:139)

at java.sql.DriverManager.getConnection(DriverManager.java:512)

at java.sql.DriverManager.getConnection(DriverManager.java:193)

at db_test.main(db_test.java:20)

o codigo eh o seguinte:

import java.sql.*;

public class db_test {

public static void main(String[] args) {

    String url = "jdbc:postgresql://localhost:5432/teste?user=carlos&password=carlos";
    Connection con = null;

    try {
        Class.forName("org.postgresql.Driver");
    }
    catch( Exception e ) {
        e.printStackTrace();
        return;
    }

    try {
        con = DriverManager.getConnection(url);
    }
    catch( SQLException e ) {
        e.printStackTrace();
    }
    finally {
        if( con != null ) {
            try { con.close(); }
            catch( SQLException e ) {
                e.printStackTrace();
            }
        }
    }
}

}

8 Respostas

maresp

Se vc estiver acessando o banco remotamente vc precisa de uma entrada no arquivo pg_hba.conf que fica na pasta de instalação do pgsql. Após editá-lo reinicie o serviço para ele assumir as configurações atuais.

engos

nao, to acessando da mesma maquina, mesmo assim dei uma olhada nesse arquivo de configuracao, liberei tudo pra todos ips e continua o mesmo erro.

electrogeek

Eu acho que o problema ta no postgre, ele nao ta querendo autenticar o seu usuario

engos

pela linha de comando eu consigo autenticar normal… :frowning:

kartler

Bem vc disse que liberou tudo no pg_hba.conf, então o problema e que
"Check that the hostname and port are correct and that the postmaster is accepting TCP/IP connections. " passe o -i como parametro na inicialização do serviço que vai dar certo ela vai aceitar conexões http.

Obs:verifique realmente o nome e senha do usuário.

engos

acho que eh na autenticacao mesmo, quando estou usando o usuário carlos, vai tudo ok, mas se estiver com qualquer outro, da o seguinte:

[root@orion init.d]# su - lucas
[lucas@orion lucas]$ psql test -u
psql: Warning: The -u option is deprecated. Use -U.
User name: carlos
Password:
psql: FATAL: IDENT authentication failed for user “carlos”

sabem se quando crio um usuario pro postgre a senha dele fica a mesma usada no linux? com o usuario carlos(q criou esse banco de dados) nao precisa nem por a senha que funciona

ps. desculpem se o assunto ficou meio offtopic

kartler

Bem vc deve criar o usuario(NO POSTGRESQL) e na criação do usuario especificar a senha para ele. e o postmaster deve esta iniciado com parametros para aceitar conexões TCP/iP.

engos

caras, funcionou, foi soh editar o postgresql.conf e adicinar tcpip_socket = true

valeu pela ajuda.

Criado 1 de abril de 2004
Ultima resposta 1 de abr. de 2004
Respostas 8
Participantes 4