Miałem ten sam problem, związany z konfiguracją mojego pliku pg_hba.conf (znajdującego się w /etc/postgresql/9.6/main
). Pamiętaj, że 9.6 to wersja postgresql, której używam.
Sam błąd jest związany z błędną konfiguracją postgresql, która powoduje awarię serwera przed jego uruchomieniem.
Proponuję postępować zgodnie z tymi instrukcjami:
- Potwierdź, że usługa postgresql działa, używając
sudo service postgresql start
- Uruchom
pg_lsclusters
z twojego terminala -
Sprawdź, jaki klaster używasz, wynik powinien wyglądać tak:
Wersja — Katalog danych właściciela portu klastra
9.6 ------- główna -- 5432 postgres online /var/lib/postgresql/9.6/main
Zignoruj znaki „---”, ponieważ są one tam używane tylko do wyrównania. Ważnymi informacjami są wersja i klaster. Możesz również sprawdzić, czy serwer jest uruchomiony, czy nie w kolumnie stanu.
- Skopiuj informacje z wersji i klastra i użyj w ten sposób:
pg_ctlcluster <version> <cluster> start
, więc w moim przypadku, używając wersji 9.6 i klastra „main”, byłby topg_ctlcluster 9.6 main start
- Jeśli coś jest nie tak, postgresql wygeneruje dziennik, do którego można uzyskać dostęp pod adresem
/var/log/postgresql/postgresql-<version>-main.log
, więc w moim przypadku pełne polecenie byłobysudo nano /var/log/postgresql/postgresql-9.6-main.log
. - Wyniki powinny pokazywać, jaki jest błąd.
2017-07-13 16:53:04 BRT [32176-1] LOG:nieprawidłowa metoda uwierzytelniania „wszystkie”
2017-07-13 16:53:04 BRT [32176-2] KONTEKST:wiersz 90 pliku konfiguracyjnego "/etc/postgresql/9.5/main/pg_hba.conf"
2017-07-13 16:53:04 BRT [32176-3] KRYTYCZNY:nie można załadować pg_hba.conf - Napraw błędy i zrestartuj usługę postgresql za pomocą
sudo service postgresql restart
i powinno być dobrze.
Dużo szukałem, aby to znaleźć, zasługa tego posta.
Powodzenia!