sql >> Databáze >  >> RDS >> PostgreSQL

PostgreSQL:Proč se psql nemůže připojit k serveru?

Chyba uvádí, že obslužný program psql nemůže najít soket pro připojení k databázovému serveru. Buď nemáte databázovou službu spuštěnou na pozadí, nebo je soket umístěn jinde, nebo možná pg_hba.conf je třeba opravit.

Krok 1:Ověřte, že databáze běží

Příkaz se může lišit v závislosti na vašem operačním systému. Ale na většině *ix systémů by fungovalo následující, bude to hledat postgres mezi všemi běžícími procesy

ps -ef | grep postgres

Na mém systému, mac osx, to vyplivne

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

Poslední sloupec zobrazuje příkaz použitý ke spuštění serveru a možnosti.

Můžete se podívat na všechny dostupné možnosti pro spuštění postgres serveru pomocí následujícího.

man postgres

Odtud byste viděli, že možnosti -D a -r jsou datadir &logfilename .

Krok 2:Pokud běží služba postgres

Použijte find k vyhledání umístění soketu, které by mělo být někde v /tmp

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

Pokud je spuštěn postgres a přijímá připojení soketu, výše uvedené by vám mělo sdělit umístění soketu. Na mém počítači to dopadlo takto:

/tmp/.s.PGSQL.5432

Poté se zkuste připojit přes psql s použitím explicitního umístění tohoto souboru, např.

psql -h /tmp/ dbname

Krok 3:Pokud služba běží, ale nevidíte soket

Pokud nemůžete najít soket, ale vidíte, že služba běží, ověřte, že soubor pg_hba.conf umožňuje místní sokety.

Přejděte do datadir a měli byste najít pg_hba.conf soubor.

Ve výchozím nastavení byste v dolní části souboru měli vidět následující řádky:

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

Pokud jej nevidíte, můžete soubor upravit a restartovat službu postgres.



  1. Jak spustit uloženou proceduru z Laravelu

  2. Možnosti Sniffing, Embedding a RECOMPILE

  3. problém ORA-00001:Porušení jedinečného omezení přichází v INSERT/UPDATE

  4. Jak nainstalovat SQL Server Manager Studio (SSMS) - SQL Server / TSQL výukový program, část 1