Nie można podłączyć PostgreSQL do zdalnej bazy danych za pomocą pgAdmin

Zainstalowałem PostgreSQL na moim lokalnym serwerze (Ubuntu) z IP 192.168.1.10. Teraz próbuję uzyskać dostęp do bazy danych z mojego komputera klienta (Ubuntu) z IP 192.168.1.11 z pgAdmin.

Wiem, że muszę wprowadzić zmiany w postgresql.conf i pg_hba.conf, aby umożliwić klientowi połączenie. Możesz mnie poprowadzić?

Author: Brad Koch, 2009-08-17

7 answers

W rzeczywistości jest to 3-krokowy proces, aby połączyć się zdalnie z serwerem PostgreSQL poprzez pgAdmin3.

Uwaga: używam Ubuntu 11.04 i PostgreSQL 8.4.

  1. PostgreSQL musi nasłuchiwać dla zdalnych połączeń przychodzących TCP, ponieważ domyślne ustawienia pozwalają nasłuchiwać tylko dla połączeń w interfejsie loopback. Aby zdalnie dotrzeć do serwera należy dodać do pliku /etc/postgresql/8.4/main/postgresql.conf:

    Listen_addresses = '*'

  2. PostgreSQL domyślnie odmawia wszystkich połączeń, które odbiera z dowolnego zdalnego adresu, musisz rozluźnić te reguły dodając tę linię do /etc/postgresql/8.4/main/pg_hba.conf:

    Host all all 0.0.0.0 / 0 md5

    Jest to reguła kontroli dostępu, która pozwala każdemu zalogować się z dowolnego adresu, jeśli może podać poprawne hasło (słowo kluczowe md5). Możesz użyć potrzebnej sieci / maski zamiast 0.0.0.0 / 0 .

  3. Gdy zastosujesz te modyfikacje do swojego pliki konfiguracyjne potrzebne do ponownego uruchomienia serwera PostgreSQL. Teraz możliwe jest zdalne logowanie się na serwer, używając nazwy użytkownika i hasła.

 115
Author: Syed Aslam,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-05-17 11:50:45

Jeśli używasz PostgreSQL 8 lub nowszego, może być konieczne zmodyfikowanie ustawienia listen_addresses w /etc/postgresql/8.4/main/postgresql.conf.

Spróbuj dodać wiersz:

listen_addresses = *

Który powie Postgresqlowi, aby nasłuchiwał połączeń na wszystkich interfejsach sieciowych.

Jeśli nie jest jawnie ustawione, to ustawienie domyślne to localhost, co oznacza, że będzie akceptować tylko połączenia z tej samej maszyny.

 8
Author: jwfearn,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-10-05 19:13:36

W terminalu Linuksa spróbuj tego:

  • sudo service postgresql start: aby uruchomić serwer
  • sudo service postgresql stop: aby zatrzymać Serwer
  • sudo service postgresql status: aby sprawdzić status serwera
 2
Author: samen tanay singh,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2019-09-17 20:38:10

Nie musiałem zmieniać prostgresql.plik conf ale, musiałem zrobić następujące na podstawie mojego psql przez wiersz poleceń był łączenie i pgAdmin nie łączenie na RDS z AWS.

Miałem ustawiony RDS na publicznie dostępny. Upewniłem się, że moje grupy ACL i bezpieczeństwa były szeroko otwarte i nadal problem, więc zrobiłem następujące rzeczy: sudo find . -name *.conf then sudo nano ./data/pg_hba.conf następnie dodane do dyrektyw w pg_hba.plik conf host all all 0.0.0.0/0 md5 a pgAdmin automatycznie mnie zalogował.

To również działało w pg_hba.plik conf host all all md5 bez żadnego adresu IP i to również działało z moim adresem IP host all all <myip>/32 md5

Na marginesie, mój RDS był w moim domyślnym VPC. Miałem identyczną instancję RDS w moim niestandardowym VPC z identycznymi ustawieniami grupy zabezpieczeń, ACL i grupy zabezpieczeń do mojego domyślnego VPC i nie mogłem go uruchomić. Nie wiem dlaczego, ale to na inny dzień.

 1
Author: max56,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-10-06 19:23:34

Łączenie z PostgreSQL poprzez tunelowanie SSH

Jeśli nie chcesz otwierać portu 5432 na jakikolwiek ruch lub nie chcesz skonfigurować PostgreSQL tak, aby nasłuchiwał zdalnego ruchu, możesz użyć tunelowania SSH, aby nawiązać zdalne połączenie z instancją PostgreSQL. Oto jak:

  1. Otwarta Szpachla. Jeśli masz już skonfigurowaną sesję, aby połączyć się z Instancja EC2, załaduj to, ale nie łącz się z nim jeszcze. Jeśli nie masz takiej sesji, Zobacz to poczta.
  2. przejdź do Connection > SSH > Tunnels
  3. wprowadź 5433 w polu port źródłowy.
  4. w polu Cel wpisz 127.0.0.1:5432.
  5. Kliknij przycisk "Dodaj".
  6. wróć do sesji i zapisz sesję, a następnie kliknij "Otwórz", aby połącz się.
  7. otwiera okno terminala. Po nawiązaniu połączenia możesz odejść tylko to.
  8. Otwórz pgAdmin i dodaj połączenie.
  9. wprowadź localhost w polu Host i 5433 w polu Port. Podaj nazwę dla połączenie oraz Nazwę użytkownika i hasło. Po zakończeniu kliknij OK.
 1
Author: Saravanan Nandhan,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2020-09-05 13:05:56

Dla redhat linux

sudo vi /var/lib/pgsql9/data/postgresql.conf 

Pgsql9 jest folderem zainstalowanej wersji postgres, może być inny dla innych

Zmieniony listen_addresses ='*' od listen_addresses = 'localhost' i wtedy

sudo /etc/init.d/postgresql stop
sudo /etc/init.d/postgresql start
 0
Author: Rujoota Shah,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-12-06 21:42:03

Sprawdź swój firewall. Kiedy go wyłączysz, możesz się połączyć. Jeśli chcesz / nie możesz wyłączyć zapory, Dodaj regułę dla połączenia zdalnego.

 0
Author: Bhargav Rao,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2019-04-24 17:06:39