PostgreSQL
 sql >> Baza danych >  >> RDS >> PostgreSQL

Pomyłka portu postgresql 5433 czy 5432?

/etc/services jest tylko doradcą, jest to lista dobrze znanych portów. Nie oznacza to, że cokolwiek faktycznie działa na tym porcie lub że nazwana usługa będzie działać na tym porcie.

W przypadku PostgreSQL typowym jest użycie portu 5432, jeśli jest dostępny. Jeśli tak nie jest, większość instalatorów wybierze następny wolny port, zwykle 5433.

Możesz zobaczyć, co faktycznie działa, używając netstat narzędzie (dostępne w systemach OS X, Windows i Linux, ze składnią wiersza poleceń różniącą się we wszystkich trzech).

Jest to jeszcze bardziej skomplikowane w systemach Mac OS X przez okropny bałagan różnych pakietów PostgreSQL – starożytna wersja PostgreSQL firmy Apple wbudowana w system operacyjny, Postgres.app, Homebrew, Macports, instalator EnterpriseDB itp.

To, co się kończy, to fakt, że użytkownik instaluje Pg i uruchamia serwer z jednego opakowania, ale używa psql i libpq klient z innego opakowania. Zwykle dzieje się tak, gdy uruchamiają Postgres.app lub homebrew Pg i łączą się z psql dostarczane z systemem operacyjnym. Nie tylko czasami mają one różne domyślne porty, ale Pg dostarczany z Mac OS X ma inną domyślną ścieżkę gniazda unixowego , więc nawet jeśli serwer działa na tym samym porcie, nie będzie nasłuchiwał tego samego gniazda uniksowego.

Większość użytkowników Maca obejdzie ten problem, używając tcp/ip z psql -h localhost . Możesz również określić port, jeśli jest to wymagane, np. psql -h localhost -p 5433 . Możesz mieć uruchomionych wiele instancji PostgreSQL, więc upewnij się, że łączysz się z właściwą, używając select version() i SHOW data_directory; .

Możesz także określić katalog gniazd uniksowych; sprawdź unix_socket_directories ustawienie instancji PostgreSQL, z którą chcesz się połączyć, i określ to za pomocą psql -h , np.psql -h /tmp .

Czystszym rozwiązaniem jest poprawienie systemu PATH aby psql i libpq powiązane z PostgreSQL, którego faktycznie używasz, jest tym, co znajduje się jako pierwsze w PATH . Szczegóły zależą od wersji systemu Mac OS X i zainstalowanych pakietów Pg. Nie używam Maca i nie mogę zaoferować o wiele więcej szczegółów po tej stronie, nie poświęcając więcej czasu niż jest to obecnie dostępne.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Przekaż wiele wartości w jednym parametrze

  2. Jaka jest różnica między cudzysłowami pojedynczymi a cudzysłowami podwójnymi w PostgreSQL?

  3. Uzyskaj krótką nazwę dnia w PostgreSQL

  4. Jak sprawdzić, czy upsert był aktualizacją z PostgreSQL 9.5+ UPSERT?

  5. Tablica elementów PostgreSQL, z których każdy jest kluczem obcym