Błąd w całości brzmi:
psql: nie można połączyć się z serwerem: brak takiego pliku lub katalogu. Czy serwer działa lokalnie i akceptuje połączenia w gnieździe domeny uniksowej „/tmp/.s.PGSQL.5432”?
To mój drugi raz, kiedy konfiguruję Postgresql przez Homebrew na moim Macu i nie mam pojęcia, co się dzieje. Wcześniej działało. W pewnym momencie musiałem wprowadzić polecenie, które pomieszało sprawę. Nie jestem pewny. Teraz, ilekroć wprowadzę polecenie SQL z wiersza poleceń, otrzymuję powyższy komunikat. Uruchomiłem polecenie, aby sprawdzić, czy serwer działa i najwyraźniej tak nie jest. Jeśli spróbuję uruchomić serwer przy użyciu
$ postgres -D / usr / local / pgsql / data
Otrzymuję następujący błąd:
postgres nie może uzyskać dostępu do pliku konfiguracyjnego serwera „/usr/local/pgsql/data/postgresql.conf”: Brak takiego pliku lub katalogu
Odinstalowałem i ponownie zainstalowałem Postgresql przez Homebrew, ale problem nadal występuje. Nie mam pojęcia, jak to działa. Każda pomoc będzie mile widziana.
źródło
brew services
Polecenia nie były pomocne, ponieważ zrobili to wydaje się, że wszystko działa. Usunięciepostmaster.pid
jest tym, co w końcu sprawiło, że wszystko znów działa. Dzięki!Odpowiedź jest tutaj .
Uruchom to polecenie, aby ręcznie uruchomić serwer:
źródło
Robiłem się tak samo
pętla instalacji / uruchomienia / zatrzymania / restartu Homebrew bezskutecznie ...
Wreszcie
brew postgresql-upgrade-database
działało.Wygląda na to, że miałem 9.6 zamiast 10.4 i coś, co mój ostatni restart App Store zrestartował wszystkie moje serwery baz danych ...
źródło
brew postgresql-upgrade-database
mi brakowało. Dzięki za zwrócenie na to uwagi.Właśnie rozwiązałem ten sam problem. To właśnie dlatego, że zapomniał się go uruchomić prawidłowo przed użyciem.
W przypadku czystej instalacji
postgresql
w systemie Mac OS proces będzie następujący (za pomocą polecenia brew ):to jeśli chcesz automatycznie uruchamiać się
postgresql
przy logowaniu:lub po prostu chcesz go uruchomić w dowolnym momencie:
Jeśli twoja sprawa jest bardziej skomplikowana, powtórzmy
brew uninstall postgresql
te kroki.Mam nadzieję, że to pomoże!
źródło
brew services start postgresql
jest teraz preferowanym sposobem uruchamiania postgresów przy logowaniuNadal otrzymywałem powyższy błąd i żadne z powyższych rozwiązań nie działało dla mnie. Wreszcie poniższe rozwiązanie rozwiązało mój problem w systemie Mac OS X
Zainstaluj postgres za pomocą naparu
Zainstaluj usługi parzenia
Aby uruchomić Postgres jako usługę w tle
Aby ręcznie zatrzymać postgres
Możemy również skorzystać z usług browarniczych w celu ponownego uruchomienia Postgres
źródło
Dzieje się tak, gdy serwer Postgres nie działa. Kroki, aby poprawnie zainstalować Postgres przez Homebrew na MAC:
brew install postgres
initdb /Users/<username>/db -E utf8
[Inicjuje to postgres, aby użyć podanego katalogu jako katalogu bazy danych. Zwykle nie zaleca się używania katalogu użytkownika do przechowywania bazy danych. Edytuj plik sudoers, aby dodać initdb i podobne polecenia, a następnie uruchom initdb na / usr / local / var / postgres]pg_ctl -D /Users/<username>/db -l logfile start
[Po osiągnięciu sukcesu w kroku 2 pojawi się monit o uruchomienie kroku 3. To polecenie ręcznie uruchamia serwer.]źródło
To zadziałało dla mnie. Zmień katalog postgresql zgodnie z wersją w systemie.
Wspólna ścieżka
rm /usr/local/var/postgres/postmaster.pid
ale dla [email protected] w mojej ścieżce systemowej jest
rm /usr/local/var/[email protected]/postmaster.pid
uruchom ponownie [email protected]
brew services restart [email protected]
źródło
Po prostu odkomentowałem w /etc/postgresql/9.5/main/postgresql.conf
i uruchom ponownie postgres. I dla mnie to działa.
źródło
ostatnio przeszedłem podobny problem. jest tylko kolejny problem i rozwiązanie. Korzystałem z 2 wersji postgres (9.3 i 9.6), chociaż serwer był ustawiony na działanie na 2 różnych portach, ale trochę jak polecenie psql w bash próbuje połączyć się z domyślnym portem 5432. Upewnij się, czy serwer działa i sprawdź ustawienia portu, a następnie uruchom
psql -p <port> postgres
. Rozwiązaniem jest zmiana portu.źródło
Długo szukałem, a to było najbardziej czyste i schludne rozwiązanie:
Niedawno zaktualizowałem Postgres z wersji 9.2 do 9.3 za pomocą aktualizacji postgres. Proces przebiegał sprawnie, a pg_upgrade to bardzo przydatne narzędzie.
Jednak kłopoty pojawiły się, gdy próbowałem uruchomić specyfikacje potrzebne do połączenia z Postgres. Mimo że Postgres na pewno działał, nagle dostałem:
nie można połączyć się z serwerem: Brak takiego pliku lub katalogu (PG :: ConnectionBad) Czy serwer działa lokalnie i przyjmuje połączenia w gnieździe domeny uniksowej „/var/pgsql_socket/.s.PGSQL.5432”? Problem polegał na tym, że nowa wersja Postgres nasłuchuje na /tmp/.s.PGSQL.5432. Mogłem pomieszać z konfiguracją i sprawić, by Postgres używał wcześniejszego gniazda domeny lub powiedział Railsom wyraźnie, jak się połączyć, ale oba te podejścia wydawały się pracą, której nie powinienem robić. W żadnym momencie nie powiedziałem Railsom, aby łączył się z postgres na tej ścieżce, Railsy to założyły, a teraz jego założenia były błędne.
Poprawka jest prosta, jeśli trochę zaskakująca. Po zainstalowaniu klejnotu „pg” wykrywa, która wersja Postgres jest zainstalowana i odpowiednio ustawia ścieżkę gniazda domeny. Rozwiązanie jest tak proste, jak ponowna instalacja klejnotu.
$ gem uninstall pg $ cd my-rails-app/ $ bundle install
http://daniel.fone.net.nz/blog/2014/12/01/fixing-connection-errors-after-upgrading-postgres/
źródło
zaktualizuj go za pomocą polecenia
jeśli występuje następujący błąd Polecenie „napar” nie zostało znalezione, ale można je zainstalować za pomocą: sudo apt install linuxbrew-wrapper
następnie zainstaluj go za pomocą polecenia
źródło
Poniższe kroki pomagają mi:
brew odinstaluj postgresql brew zainstaluj postgresql brew postgresql-upgrade-database
źródło