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

java JDBC postgresql problem z nawiązaniem połączenia, błąd
OB
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 50
0

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

Kopiuj
     <!-- 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ą:

Kopiuj
    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.

PI
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 2787
0

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

OB
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 50
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.

PI
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 2787
0

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

AK
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 3561
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

KamilAdam
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Silesia/Marki
  • Postów: 5549
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

Julian_
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 1703
0

A jaka wartosc ma url?

Julian_
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 1703
0

Sprobuj tak:

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

i sprawdz se:

Kopiuj
SELECT *
FROM pg_settings
WHERE name = 'port';
OB
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 50
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.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.