Po ponownym uruchomieniu komputera Mac otrzymałem przerażający błąd Postgres:
psql: could not connect to server: No such file or directory
Is the server running locally and accepting
connections on Unix domain socket "/var/run/postgresql/.s.PGSQL.5432"?
Powodem tego jest to, że mój Macbook całkowicie zamarzł z powodu niezwiązanego problemu i musiałem przeprowadzić twardy restart przy użyciu przycisku zasilania. Po ponownym uruchomieniu nie mogłem uruchomić Postgres z powodu tego błędu.
macos
postgresql
Ognisty smok
źródło
źródło
brew reinstall postgresql
stackoverflow.com/a/39781473/6086226 pracował dla mnieOdpowiedzi:
OSTRZEŻENIE: Jeśli usuniesz postmaster.pid bez upewnienia się, że naprawdę nie ma
postgres
uruchomionych procesów, może to spowodować trwałe uszkodzenie bazy danych . (PostgreSQL powinien usunąć go automatycznie, jeśli postmaster wyszedł.).ROZWIĄZANIE: To rozwiązało problem - usunąłem ten plik, a potem wszystko działało!
-
i oto jak zorientowałem się, dlaczego trzeba to usunąć.
Użyłem następującego polecenia, aby sprawdzić, czy są uruchomione jakieś procesy PG. dla mnie nie było, nie mogłem nawet uruchomić serwera PG:
Szukałem pliku .s.PGSQL.5432, który był w powyższym komunikacie o błędzie. użyłem następującego polecenia:
to nic nie pokazało po przeszukaniu całego komputera, więc plik nie istniał, ale oczywiście
psql
„chciałem, żeby” lub „myślałem, że tam jest”.Przejrzałem dzienniki serwera i zobaczyłem następujący błąd:
na końcu dziennika serwera widzę następujący błąd:
Postępując zgodnie ze wskazówkami zawartymi w komunikacie o błędzie, usunąłem plik postmaster.pid w tym samym katalogu, co server.log. To rozwiązało problem i mogłem ponownie uruchomić.
Wygląda więc na to, że mój komputer MacBook zawiesił się i został ponownie uruchomiony, co spowodowało, że Postgres pomyślał, że jego procesy nadal działają nawet po ponownym uruchomieniu. Usunięcie tego pliku rozwiązane. Mam nadzieję, że to pomaga innym! Wiele osób ma podobne problemy, ale większość odpowiedzi dotyczyła uprawnień do plików, podczas gdy w moim przypadku było inaczej.
źródło
postgres
uruchomionych procesów, zanim to zrobisz./usr/local/var/log/postgres.log
.Żadne z powyższych nie działało dla mnie. Musiałem ponownie zainstalować Postgres w następujący sposób:
brew uninstall postgresql
brew doctor
(napraw cokolwiek tu jest)brew cleanup
Usuń wszystkie foldery Postgres:
rm -r /usr/local/var/postgres
rm -r /Users/<username>/Library/Application\ Support/Postgres
Ponownie zainstaluj postgresql z zaparzeniem:
brew install postgresql
brew services start postgresql
createdb
)źródło
brew postgresql-upgrade-database
brew reinstall postgres
potwierdzeniem, że najnowszy numer głównej wersji Homebrew Postgres był taki sam, jak mój obecny (zepsuty).Jeśli korzystasz z systemu macOS i zainstalowałeś postgres przez homebrew, spróbuj uruchomić go ponownie za pomocą
Jeśli korzystasz z systemu Ubuntu, możesz go ponownie uruchomić za pomocą jednego z tych poleceń
źródło
Być może jest to niepowiązane, ale podobny błąd pojawia się podczas aktualizacji
postgres
do wersji głównej za pomocąbrew
; za pomocąbrew info postgresql
odkryłem to, co pomogło:źródło
Oto moja droga:
źródło
fix-my-postgresql
wykona to :)jeśli twój
postmaster.pid
zniknął i nie możesz zrestartować się ani nic, zrób to:pg_ctl -D /usr/local/var/postgres -l /usr/local/var/postgres/server.log start
jak wyjaśniono tutaj na początku
źródło
Witaj świecie :)
Najlepszym, ale dziwnym sposobem dla mnie było robienie kolejnych rzeczy.
1) Pobierz postgres93.app lub inną wersję. Dodaj tę aplikację do folderu / Applications /.
2) Dodaj wiersz (polecenie) do pliku
To droga do.bash_profile
(który znajduje się w moim katalogu domowym):psql
zPostgres93.app
. Wiersz (polecenie) jest uruchamiany przy każdym uruchomieniu konsoli.3) Uruchom
Postgres93.app
z/Applications/
folderu. Uruchamia serwer lokalny (port to „5432”, a host to „localhost”).4) Po tych wszystkich manipulacjach z przyjemnością uruchomiłem
$ createuser -SRDP user_name
inne polecenia i zobaczyłem, że to działa!Postgres93.app
może być uruchamiany przy każdym uruchomieniu systemu.5) Również jeśli chcesz zobaczyć swoje bazy danych graficznie, powinieneś zainstalować
PG Commander.app
. To dobry sposób, aby zobaczyć swoją bazę danych postgres jako ładne tabele danychOczywiście jest to przydatne tylko dla lokalnego serwera. Będę zadowolony, jeśli te instrukcje pomogą innym, którzy borykają się z tym problemem.
źródło
export PATH='/usr/local/Cellar/postgresql/9.4.1/bin/':$PATH
- Pamiętaj, że twój numer wersji może być inny.Ten problem ma wiele źródeł, a zatem wiele odpowiedzi. Doświadczyłem każdego z nich.
1) Jeśli masz awarię, usunięcie pliku /usr/local/var/postgres/postmaster.pid jest prawdopodobnie wymagane, ponieważ postgres mógł nie poradzić sobie z nim poprawnie. Ale upewnij się, że żaden proces nie jest uruchomiony.
2) Craig Ringer zauważył w innych postach, że pakietowanie postgreSQL przez Apple prowadzi do problemów z instalacją klejnotów pg Ustawienie zmiennej środowiskowej PATH jest rozwiązaniem.
3) Innym rozwiązaniem jest odinstalowanie i ponowne zainstalowanie klejnotu. Konieczna może być również aktualizacja naparu.
Jeśli natkniesz się na ten post, jeśli możesz wskazać jedno ze źródeł, zaoszczędzisz czas ...
źródło
Dla mnie rozwiązaniem było po prostu ponowne uruchomienie komputera. Najpierw próbowałem uruchomić ponownie z usługami Brew, a kiedy to nie zadziałało, ponowne uruchomienie wydawało się kolejną najlepszą opcją do wypróbowania, zanim przyjrzę się bardziej zaangażowanym rozwiązaniom. Wszystko działało tak, jak powinno.
źródło
Miałem tutaj podobny problem. Rozwiązałem ten problem jak poniżej.
W rzeczywistości proces postgres jest martwy, aby zobaczyć status postgres uruchom następujące polecenie
Mówi, że proces jest martwy - wystarczy rozpocząć proces
źródło
Stało się tak po tym, jak mój komputer Mac (High Sierra) zamarł i musiałem ręcznie go ponownie uruchomić (naciśnij i przytrzymaj przycisk zasilania). Wszystko, co musiałem zrobić, aby to naprawić, to czysty restart.
źródło
Mój problem polegał na tym, że używałem maski przeciwgazowej (menedżer plików hosts na Macu) i nie miałem wpisu localhost w pliku hostów, którego używałem.
Dodałem:
I to rozwiązało mój problem.
źródło
Nie jestem do końca pewien, dlaczego, ale moja instalacja Postgres trochę się wkręciła i niektóre pliki zostały usunięte, co powoduje wyświetlenie błędu OP.
Pomimo faktu, że jestem w stanie uruchamiać polecenia takie jak
brew service retart postgres
i widzieć właściwe komunikaty, błąd ten nadal występował.Przejrzałem dokumentację postgres i okazało się, że mój plik
/usr/local/var/postgres
jest całkowicie pusty. Więc uruchomiłem następujące:Wygląda na to, że niektóre konfiguracje miały miejsce z tym poleceniem.
Potem poprosił mnie o uruchomienie tego:
I to powiedziało mi, że plik postmaster.pid już istnieje.
Musiałem tylko wiedzieć, czy brew będzie mógł pobrać konfiguracje, które właśnie uruchomiłem, więc przetestowałem to.
To pokazało mi plik postmaster.pid. Potem zrobiłem
brew services stop postgresql
, a plik postmaster.pid zniknął. Potem zrobiłembrew services start postgresql
i plik VIOLA pojawił się ponownie.Potem poszedłem naprzód i uruchomiłem aplikację, która faktycznie znalazła serwer, jednak moje bazy danych wydają się zniknąć.
Chociaż wiem, że wcale ich nie ma - nowa inicjalizacja, którą zrobiłem, mogła stworzyć nową strefę danych, a stara nie jest wskazywana. Musiałbym spojrzeć na to, gdzie to jest i skierować to z powrotem, lub po prostu ponownie utworzyć bazy danych.
Mam nadzieję że to pomoże! Bardzo mi pomogło czytanie dokumentów postgres. Nienawidzę czytać odpowiedzi typu „Wklej to w to działa!” ponieważ nie wiem, co się do cholery dzieje i dlaczego.
źródło
Przyczyn tego błędu jest wiele, dlatego najpierw zlokalizuj plik dziennika i sprawdź, czy nie ma w nim wskazówek. To może być
/usr/local/var/log/postgres.log
lub/usr/local/var/postgres/server.log
ewentualnie w innym miejscu. Jeśli zainstalowałeś z Homebrew, możesz znaleźć lokalizację w~/Library/LaunchAgents/homebrew.mxcl.postgresql.plist
.źródło
Miałem ten sam problem. W większości przypadków problemem jest fakt, że istnieje plik resztkowy
/usr/local/var/postgres/postmaster.pid
co działa dla większości ludzi, ale mój przypadek był inny - próbowałem googlować przez ostatnie 3 godziny, odinstalowałem postresql na OSX przez brew, wyczyściłem bazę danych, nic nie działało.
W końcu zauważyłem, że miałem problem z naparami, które pojawiały się zawsze, gdy próbowałem coś zainstalować.
Error: Permission denied @ rb_sysopen - /private/tmp/github_api_....
lub coś podobnego na końcu instalacji.
Po prostu to zrobiłem
sudo chmod -R 777 /private/tmp
i wreszcie działa!Zapisuję to, ponieważ może to być rozwiązanie dla kogoś innego
źródło
Idź
/var/log/
i uruchom kotapostgres.log
Tutaj znajdziesz przyczynę niepowodzenia postgresu. Jeśli jest to inteligentne zamknięcie, prawdopodobnie Twojaicu4c
wersja (biblioteka C ++ dla Unicode) nie jest odpowiednia, z którą jest połączonapostgres
. Więc uruchom następujące polecenia.brew upgrade
brew cleanup
To powinno działać;)źródło
brew style
później uciekać, jeślibrew cleanup
zepsuje Homebrew.Musiałem poszukać tego postu kilka razy, aby rozwiązać ten problem. Jest jeszcze jedna poprawka, która dotyczy również podobnych problemów z innymi uruchomionymi programami.
Właśnie odkryłem, że możesz użyć następujących dwóch poleceń.
$ top
Spowoduje to wyświetlenie wszystkich aktualnie wykonywanych działań wraz z ich numerami pid. Gdy znajdziesz postgres i powiązany pid
$ kill numer_pid
źródło
Właśnie dostałem ten sam problem, ponieważ umieściłem moją maszynę (
ubuntu
) do aktualizacji i wystąpił błąd:Po zakończeniu procesu aktualizacji po ponownym uruchomieniu zniknął błąd systemu. I działa jak urok jak wcześniej. Wydaje mi się, że tak się stało, gdy pg aktualizowało się i rozpoczął się kolejny proces.
źródło
SUPER NEWBIE ALERT: Właśnie uczę się tworzenia stron internetowych, a konkretny samouczek, który śledziłem, mówi, że muszę zainstalować Postgres, ale tak naprawdę nie wspomniałem, że muszę go uruchomić ... Po otwarciu aplikacji Postgres wszystko było w porządku i elegant.
źródło
Odpowiedź Jagdisha Barabari dała mi wskazówkę potrzebną do rozwiązania tego problemu. Okazuje się, że były zainstalowane dwie wersje postgresql, podczas gdy tylko jedna była uruchomiona. Usunięcie wszystkich plików postgresql i ponowna instalacja najnowszej wersji rozwiązało ten problem.
źródło
Usunąłem / usr / lib z LD_LIBRARY_PATH i zadziałało. Pracowałem w dokerfile postgres: alpine.
źródło