java JDBC postgresql problem z nawiązaniem połączenia, błąd

0

Robię wszystko jak w tutorialach. JDBC zainstalowałem dodając zależność do Mavena:

     <!-- https://mvnrepository.com/artifact/org.postgresql/postgresql -->
        <dependency>
            <groupId>org.postgresql</groupId>
            <artifactId>postgresql</artifactId>
            <version>42.2.14</version>
        </dependency>

w przypadku sqlite coś takiego wystarczy, i wszystko działa.

Tutaj natomiast wyskakuje błąd:

Connection to localhost:5432 refused. Check that the hostname and port are correct and that the postmaster is accepting TCP/IP connections.

moja funkcja do łączenia z bazą:

    private Connection connectPostgreSQL()
    {
        Connection conn = null;
        try{
            conn = DriverManager.getConnection (url, user, password);
            System.out.println("Connected to the PostgreSQL server successfully.");

        }catch (SQLException e)
        {
            System.out.println (e.getMessage());
        }

        return conn;
    }

Wszystko skopiowane bezpośrednio z tutorialu.

0

A faktycznie postawiłeś sobie lokalnie bazę Postgres? Na porcie 5432?

1

Nie.

Właśnie się zastanawiałem czy trzeba, czy to się jakoś samo utworzy.

W jednym tutorialu jest napisane:

The following Java code shows how to connect to an existing database. If the database does not exist, then it will be created and finally a database object will be returned.

https://www.tutorialspoint.com/postgresql/postgresql_java.htm

więc myślałem, że nie trzeba.

0

Hmm czuję się nieźle zkonfudowany :) A zmieniałeś ten plik pg_hba.conf?

0

Jeśli szukasz mało problemowej bazy, z praktycznie zerową instalacją, to coś embedded. H2 albo Derby

EDIT Postgres jest bdb bazą, ale być może szukasz czegoś innego

3
Obersturmbannführer napisał(a):

Właśnie się zastanawiałem czy trzeba, czy to się jakoś samo utworzy.

W jednym tutorialu jest napisane:

The following Java code shows how to connect to an existing database. If the database does not exist, then it will be created and finally a database object will be returned.

https://www.tutorialspoint.com/postgresql/postgresql_java.htm

więc myślałem, że nie trzeba.

I to wychodzi używanie uproszczonego słownictwa. PostgreSQL to nie baza danych tylko RDBMS. Baza danych to dane wewnętrz PostgreSQLa. W tym tutorialu ta baza nazywa się testdb.

BTW linijkę niżej masz informacje że masz mieć zainstalowanego PostgreSQLa

0

A jaka wartosc ma url?

0

Sprobuj tak:

connStr=jdbc:postgresql://localhost:5432/mydatabase?user=mylogin&password=mypassword
val conn = DriverManager.get(connStr)

i sprawdz se:

SELECT *
FROM pg_settings
WHERE name = 'port';
0

Wszystko działa, wystarczyło zainstalować postgresql z oficjalnej strony, uruchomić sql shell i skonfigurować bazę

title

nie trzeba było nawet konfigurować żadnego pliku.

1 użytkowników online, w tym zalogowanych: 0, gości: 1