Blog JSystems - uwalniamy wiedzę!
Blog JSystems - uwalniamy wiedzę!
PostgreSQL
Jak połączyć się z bazą przez pgAdmin4 krok po kroku
pgAdmin4 to najpopularniejsze narzędzie graficzne do PostgreSQL, ale pierwsze połączenie potrafi zająć więcej czasu niż sama instalacja bazy. Powód jest prosty: pgAdmin tylko łączy się z serwerem, a o tym, czy połączenie w ogóle jest możliwe, decyduje konfiguracja bazy. Przeprowadzimy Cię krok po kroku przez rejestrację serwera i pokażemy, co ustawić po stronie PostgreSQL, żeby drzewo baz się rozwinęło. Temat jest dla każdego, kto zaczyna pracę z pgAdmin4.
Instalujesz pgAdmin4, klikasz dodanie nowego serwera, wpisujesz dane i zamiast listy baz dostajesz okno z błędem. Bywa, że komunikat mówi o odrzuceniu połączenia, innym razem o braku wpisu dla Twojego hosta w pliku uprawnień, a jeszcze innym o błędnym haśle. Zdarza się też, że pgAdmin łączy się z bazą na tym samym komputerze bez problemu, ale z innej maszyny w sieci już nie. Wspólny objaw jest jeden: narzędzie działa, lecz serwer nie pojawia się w drzewie z aktywnymi bazami.
pgAdmin4 jest tylko klientem. Cała decyzja o tym, czy wpuścić połączenie, zapada po stronie PostgreSQL i przechodzi przez trzy bramki. Pierwsza to nasłuch sieciowy: domyślnie świeżo zainstalowany serwer przyjmuje połączenia tylko z lokalnego komputera, bo parametr listen_addresses jest ustawiony zachowawczo. Jeśli łączysz się z innej maszyny, a serwer nasłuchuje tylko lokalnie, połączenie zostaje odrzucone jeszcze zanim dojdzie do sprawdzania hasła. Druga bramka to plik pg_hba.conf, w którym opisane jest, kto, z jakiego adresu, do której bazy i jaką metodą może się uwierzytelnić. Brak pasującego wpisu daje komunikat o braku wpisu dla hosta. Trzecia bramka to samo uwierzytelnienie, czyli poprawny użytkownik i hasło zgodne z metodą wskazaną w pg_hba.conf. Do tego dochodzą oczywiste drobiazgi po stronie pgAdmin: właściwy adres hosta, port, na którym działa baza, oraz nazwa użytkownika. Jeśli którakolwiek bramka jest zamknięta, drzewo baz pozostanie puste.
listen_addresses = '*' na maszynie, którą kontrolujesz, i wykonaj restart, bo ten parametr wymaga restartu.Połączenie działa, gdy w drzewie po lewej stronie serwer się rozwija i widzisz pod nim listę baz danych. Otwórz narzędzie zapytań i wykonaj proste SELECT version();, żeby potwierdzić, że pgAdmin rzeczywiście rozmawia z serwerem, a nie tylko pokazuje zapamiętany stan. Możesz też sprawdzić bieżącą sesję zapytaniem SELECT current_user, inet_server_addr();, które pokaże, jakim użytkownikiem jesteś zalogowany i pod jakim adresem odpowiada serwer. Jeśli zapytania zwracają wyniki, wszystkie trzy bramki są otwarte, a konfiguracja jest poprawna.
Wróć do listy: 100 najczęstszych pytań i problemów z PostgreSQL

Sprawdź szkolenie: Administracja, replikacja i tuning baz danych PostgreSQL
To szkolenie może być dofinansowane z KFS lub BUR.
★★★★★Średnia ocena naszych szkoleń w Google: 5/5

Sprawdź szkolenie: Zaawansowana administracja PostgreSQL (HA, DR, monitoring, skalowanie)
To szkolenie może być dofinansowane z KFS lub BUR.
★★★★★Średnia ocena naszych szkoleń w Google: 5/5
Komentarze (0)
Brak komentarzy...