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

PostgreSQL:Dlaczego psql nie może połączyć się z serwerem?

Błąd informuje, że narzędzie psql nie może znaleźć gniazda do połączenia z serwerem bazy danych. Albo nie masz uruchomionej usługi bazy danych w tle, albo gniazdo znajduje się gdzie indziej, albo może pg_hba.conf wymaga naprawy.

Krok 1:Sprawdź, czy baza danych działa

Polecenie może się różnić w zależności od systemu operacyjnego. Ale w większości systemów *ix zadziała następujące działanie, będzie wyszukiwać postgres wśród wszystkich uruchomionych procesów

ps -ef | grep postgres

W moim systemie Mac OSX to wypluwa

501   408     1   0  2Jul15 ??         0:21.63 /usr/local/opt/postgresql/bin/postgres -D /usr/local/var/postgres -r /usr/local/var/postgres/server.log

Ostatnia kolumna pokazuje polecenie użyte do uruchomienia serwera i opcje.

Możesz przejrzeć wszystkie dostępne opcje uruchamiania serwera postgres, korzystając z poniższych.

man postgres

Stamtąd zobaczysz, że opcje -D i -r to odpowiednio datadir &logfilename .

Krok 2:Jeśli usługa Postgres działa

Użyj find aby wyszukać lokalizację gniazda, które powinno znajdować się gdzieś w /tmp

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

Jeśli postgres działa i akceptuje połączenia z gniazdem, powyższe powinno wskazać lokalizację gniazda. Na moim komputerze okazało się, że:

/tmp/.s.PGSQL.5432

Następnie spróbuj połączyć się przez psql, używając jawnie lokalizacji tego pliku, np.

psql -h /tmp/ dbname

Krok 3:Jeśli usługa działa, ale nie widzisz gniazda

Jeśli nie możesz znaleźć gniazda, ale widzisz, że usługa jest uruchomiona, sprawdź, czy plik pg_hba.conf zezwala na gniazda lokalne.

Przejdź do datadir i powinieneś znaleźć pg_hba.conf plik.

Domyślnie u dołu pliku powinny być widoczne następujące wiersze:

# "local" is for Unix domain socket connections only
local       all       all       trust

Jeśli go nie widzisz, możesz zmodyfikować plik i ponownie uruchomić usługę postgres.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Obsługa schematów Postgres przez SQLAlchemy

  2. Jak używać zmiennych w prostym skrypcie PostgreSQL?

  3. Jak skonfigurować postgresql postgresql.conf listen_addresses dla wielu adresów IP

  4. Postgres nie używa indeksu, gdy skanowanie indeksu jest znacznie lepszą opcją

  5. Jak utworzyć tabelę tylko wtedy, gdy nie istnieje w PostgreSQL