1

Temat: JDBC + psql - problem z logowaniem z zewnatrz

Witam, wsumie moj 1 post.

Ogolnie postawilem sobie serwer na debiania do projektu z baz danych i javy, no i wszystko pieknie ładnie działa.. tylko ze wlasnie PRAWIE.

Zaistalowany jest php pgAdmin + java + jdbc + pgsql + php + apache2.

No i teraz moj problem.. korzystam z serwera u siebie w domu gdzie stoi + na uczelni, no i nie mam dostepu do bazy danych przez jdbc z zewnatrz (a dziala poprzez ip na pgAdminie, czy zwyklej konsoli), moge za to spokojnie dzialac przy uzyciu "jdbc:postgres://localhost/xxx".

Gdzies wyczytalem zeby w konfigach dodac linie z socketem na true, problem ze to od razu sypie cala reszta(no i to raczej w poprzednich wersjach psql'a istnialo). Listen_addresses = "*", jak manual przykazal..

Reansumujac? Jak zrobic zeby to dranstwo pozwalalo mi na polaczenie z dowolnego miejsca przez jdbc?!


P.S. nie wiem czy nie pokrecilem dzialu.. jak tak to sory

2

Odp: JDBC + psql - problem z logowaniem z zewnatrz

A jakiś komunikat błędu dostajesz? Coś w logach?

3

Odp: JDBC + psql - problem z logowaniem z zewnatrz

Bład w javie:

Exception in thread "main" org.postgresql.util.PSQLException: Połączenie odrzucone. Sprawdź, czy prawidłowo ustawiłeś nazwę hosta oraz port i upewnij się, czy postmaster przyjmuje połączenia TCP/IP.
    at org.postgresql.core.v3.ConnectionFactoryImpl.openConnectionImpl(ConnectionFactoryImpl.java:136)

Log z postgresa ostatnie 4:

2009-10-13 20:08:17 CEST FATAL:  password authentication failed for user "postgres"
2009-10-13 20:08:18 CEST FATAL:  password authentication failed for user "postgres"
2009-10-13 20:08:18 CEST FATAL:  password authentication failed for user "postgres"
2009-10-13 20:08:19 CEST FATAL:  password authentication failed for user "postgres"
2009-10-13 20:08:19 CEST LOG:  incomplete startup packet

Ale tutaj nie ma kompletnie nic zwiazanego z polaczeniem..

Ustawienia pg_hba:
# TYPE  DATABASE    USER        CIDR-ADDRESS          METHOD

# IPv4 local connections:
host    all         all        0.0.0.0/0                      md5

# "local" is for Unix domain socket connections only
  local   all         all                             md5
# IPv6 local connections:
host    all         all         ::1/128               md5


postgres.conf:

listen_addresses = '*'
                                        # what IP address(es) to listen on;
                                        # comma-separated list of addresses;
                                        # defaults to 'localhost', '*' = all
                                        # (change requires restart)
port = 5432                             # (change requires restart)
max_connections = 100                   # (change requires restart)


Moje pomysly sie juz skonczyly sad

4

Odp: JDBC + psql - problem z logowaniem z zewnatrz

5

Odp: JDBC + psql - problem z logowaniem z zewnatrz

To co tu wyszlo jest kompletnie nie zwiazane z problemem. Na probe wsadzilem adrress 0 samo zamiast 0.0.0.0/0 i pozniej wlazilem na konto postgres przez pgadmina stad ten failed. Po za tym jako tako nie lacze sie jako user postgres a test2.

6

Odp: JDBC + psql - problem z logowaniem z zewnatrz

No to może powtórz oryginalny błąd i pokaż co postgres wpisuje w logach. Po co pokazywac logi nie związane z błędem.

7

Odp: JDBC + psql - problem z logowaniem z zewnatrz

Kwestia jest banalniejsza niz sadzisz. Poniewaz ZADEN log nie pojawil sie : ). Ale na zyczenie wpierw puszczony jdbc z connectem i prosta komenda, a za tym puscilelem z zewn ten sam program oczywiscie ze zmienionym adresem do serwera (z localhosta na ip).

2009-10-13 20:08:18 CEST FATAL:  password authentication failed for user "postgres"
2009-10-13 20:08:19 CEST FATAL:  password authentication failed for user "postgres"
2009-10-13 20:08:19 CEST LOG:  incomplete startup packet
2009-10-13 20:29:42 CEST ERROR:  relation "test" already exists
2009-10-13 20:29:42 CEST STATEMENT:  CREATE TABLE test(info CHAR(20))


Jak widac nie pojawilo sie kompletnie NIC! Nawet zaden log zwiazany z nowy tworzenie bazy (poprzedni error wywolany byl tym ze zapomnialem odkomentowac dropTable i probowalem 2 raz zrobic to samo, ale uzywajac tutaj polaczenia localhost).

8

Odp: JDBC + psql - problem z logowaniem z zewnatrz

Tak dla pewności, ustaw jeszcze w postgres.conf logowanie połączeń (log_connections) i zrestartuje serwer. A potem powtórz błąd. I spójrz w logi.

Czy jak łaczysz sie z zewnętrz to sprawdzasz w kodzie czy nawiazano połaczenie i ewentualnie łapiesz jakis error message z poziomy javy?

9

Odp: JDBC + psql - problem z logowaniem z zewnatrz

Dobra na pocztek tylko log:

2009-10-13 21:30:43 CEST LOG:  incomplete startup packet
2009-10-13 21:30:54 CEST LOG:  connection received: host=192.168.0.100 port=52235
2009-10-13 21:30:54 CEST LOG:  connection authorized: user=test2 database=test1


najpierw z locala jak widac pozniej probowalem z zewn 0 odzewu w logach. Czyli wyglada jakby w ogole nie nasluchiwal z zewnatrz niczego..

Co do javy, to tak jak wyzej wkleilem tylko czyli z JDBC jest error o braku polaczenia. Sam wywoluje tylko opis "laczenie z serwerem", "zakonczenie polaczenia". Blad wyraznie wyskakuje w czasie laczenia.

10

Odp: JDBC + psql - problem z logowaniem z zewnatrz

A możesz się z zewntąrz telnetnąc na port postgresa?
Sprawdzałeś w netstat'cie czy nasłuchuje cos na porcie 5432?

11

Odp: JDBC + psql - problem z logowaniem z zewnatrz

a i chyba tu jest problem.. Z tego co widze(a moge zle widziec :>) net stat nie pokazuje mi nigdzie niczego na porcie 5432..

12

Odp: JDBC + psql - problem z logowaniem z zewnatrz

jestes pewien ze ten postgresql.conf to na pewno wlasciwy postgresql.conf smile ?
masz linuxa?
Co pokazuje

netstat -an

Ostatnio edytowany przez rski (2009-10-13 22:08:04)

13

Odp: JDBC + psql - problem z logowaniem z zewnatrz

hmm a uwazasz ze jest wiecej postgressql.conf ? big_smile

14

Odp: JDBC + psql - problem z logowaniem z zewnatrz

A rozne rzeczy juz widzialem smile. No to co pokazuje ten netstat -an ?

15

Odp: JDBC + psql - problem z logowaniem z zewnatrz

Ostatnio edytowany przez mar3k (2009-10-13 22:15:54)

16

Odp: JDBC + psql - problem z logowaniem z zewnatrz

No to jak widać postgres słucha (zakładam że to postgres na porcie 5432). Może system wycina połączenia na jakimś firewall'u

17

Odp: JDBC + psql - problem z logowaniem z zewnatrz

hey udalo sie rozwiazac problem! Nie lezal jednak po stronie serwera a zasranego routera smile Dzieki wielkie za pomoc!