Udało mi się zepsuć moje lokalne środowisko programistyczne.
Wszystkie moje lokalne aplikacje Railsowe wyświetlają teraz błąd:
PGError
could not connect to server: Permission denied
Is the server running locally and accepting
connections on Unix domain socket "/var/pgsql_socket/.s.PGSQL.5432"?
Nie mam pojęcia, co to spowodowało.
Szukając rozwiązania, zaktualizowałem wszystkie dołączone klejnoty, zaktualizowałem klejnoty systemowe, zaktualizowałem MacPorts. Brak przyjemności.
Inni zgłaszali ten problem podczas aktualizacji z OSX Leopard do Lion, z powodu niejasności co do wersji Postgres (tj. Wersji OSX lub wersji MacPorts). Prowadzę Lion'a od kilku miesięcy, więc wydaje się dziwne, że powinno to nastąpić teraz.
Nie chcę zbytnio się bawić bez uprzedniego zrozumienia, na czym polega problem. Jak mogę to metodycznie debugować?
Jak mogę określić, ile wersji PostgreSQL jest w moim systemie, do której z nich uzyskuje się dostęp i gdzie się znajduje? Jak to naprawić, jeśli używany jest niewłaściwy PostgreSQL?
Przepraszam za pytania noobów. Wciąż się uczę, jak to działa! Dzięki za wskazówki.
EDYTOWAĆ
Niektóre aktualizacje oparte na sugestiach i komentarzach poniżej.
Próbowałem uruchomić, pg_lsclusters
co zwróciło command not found
błąd.
Następnie spróbowałem zlokalizować mój plik pg_hba.conf i znalazłem te trzy przykładowe pliki:
/opt/local/share/postgresql84/pg_hba.conf.sample
/opt/local/var/macports/software/postgresql84/8.4.7_0/opt/local/share/postgresql84/pg_hba.conf.sample
/usr/share/postgresql/pg_hba.conf.sample
Więc zakładam, że są zainstalowane 3 wersje PSQL? Macports, OSX default i ???.
Następnie wyszukałem skrypt startowy launchctl, ps -ef | grep postgres
który zwrócił
0 56 1 0 11:41AM ?? 0:00.02 /opt/local/bin/daemondo --label=postgresql84-server --start-cmd /opt/local/etc/LaunchDaemons/org.macports.postgresql84-server/postgresql84-server.wrapper start ; --stop-cmd /opt/local/etc/LaunchDaemons/org.macports.postgresql84-server/postgresql84-server.wrapper stop ; --restart-cmd /opt/local/etc/LaunchDaemons/org.macports.postgresql84-server/postgresql84-server.wrapper restart ; --pid=none
500 372 1 0 11:42AM ?? 0:00.17 /opt/local/lib/postgresql84/bin/postgres -D /opt/local/var/db/postgresql84/defaultdb
500 766 372 0 11:43AM ?? 0:00.37 postgres: writer process
500 767 372 0 11:43AM ?? 0:00.24 postgres: wal writer process
500 768 372 0 11:43AM ?? 0:00.16 postgres: autovacuum launcher process
500 769 372 0 11:43AM ?? 0:00.08 postgres: stats collector process
501 4497 1016 0 12:36PM ttys000 0:00.00 grep postgres
Zamieściłem zawartość postgresql84-server.wrapper pod adresem http://pastebin.com/Gj5TpP62 .
Próbowałem uruchomić, port load postgresql184-server
ale otrzymałem błąd Error: Port postgresql184-server not found
.
Nadal nie wiem, jak to naprawić i doceniam wszelkie wskazówki „dla głupków”.
Dzięki!
EDYCJA2
Ten problem zaczął się po tym, jak miałem problemy z daemondo. Moje lokalne aplikacje Railsów ulegały awarii z błędem aplikacji typu „daemondo gem nie można znaleźć”. Następnie przeszedłem przez serię aktualizacji pakietów, aktualizacji klejnotów, aktualizacji portów i aktualizacji parzenia, aby spróbować znaleźć problem.
Czy ten błąd może być problemem z daemondo?
pg_lsclusters
i swój pg_hba.conf
plik.