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

psql:nie można połączyć się z serwerem:Brak takiego pliku lub katalogu (Mac OS X)

OSTRZEŻENIE:Jeśli usuniesz postmaster.pid bez upewnienia się, że naprawdę nie ma postgres uruchamiające Cię procesy mogą trwale uszkodzić Twoją bazę danych . (PostgreSQL powinien usunąć go automatycznie, jeśli postmaster zakończył pracę).

ROZWIĄZANIE:to rozwiązało problem — usunąłem ten plik i wszystko działało!

/usr/local/var/postgres/postmaster.pid

--

i oto jak doszedłem do tego, dlaczego to musiało zostać usunięte.

  1. Użyłem następującego polecenia, aby sprawdzić, czy są uruchomione jakieś procesy PG. u mnie nie było żadnego, nie mogłem nawet uruchomić serwera PG:

    ps auxw | grep post
    
  2. Szukałem pliku .s.PGSQL.5432, który był w powyższym komunikacie o błędzie. użyłem następującego polecenia:

    sudo find / -name .s.PGSQL.5432 -ls
    

    to nie pokazało niczego po przeszukaniu całego mojego komputera, więc plik nie istniał, ale oczywiście psql „chciałem” lub „myślałem, że tam jest”.

  3. Spojrzałem na dzienniki mojego serwera i zobaczyłem następujący błąd:

    cat /usr/local/var/postgres/server.log
    

    na końcu dziennika serwera widzę następujący błąd:

    FATAL:  pre-existing shared memory block (key 5432001, ID 65538) is still in use
    HINT:  If you're sure there are no old server processes still running, remove the shared memory block or just delete the file "postmaster.pid".
    
  4. Zgodnie z radą 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 Macbook zawieszał się i był twardym ponownym uruchomieniem, co spowodowało, że Postgres pomyślał, że jego procesy nadal działają nawet po ponownym uruchomieniu. Usunięcie tego pliku zostało rozwiązane. Mam nadzieję, że to pomoże 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.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Tworzenie PostgreSQL dla Windows, część 2

  2. Zatwierdzanie transakcji podczas wykonywania funkcji postgreql

  3. Dlaczego powinieneś uczyć się PostgreSQL?

  4. Jaki typ danych dla szerokości i długości geograficznej?

  5. Slick 2.0 Ogólne operacje CRUD