2017-03-07 73 views
11

我想我流浪的機器上運行psql,但我得到這個錯誤:Psql無法連接到服務器:沒有這樣的文件或目錄,5432錯誤?

psql: could not connect to server: No such file or directory 

Is the server running locally and accepting connections on 
Unix domain socket "/var/run/postgresql/.s.PGSQL.5432"? 

注:流浪1.9.2 盒:Ubuntu的/ trusty64,https://atlas.hashicorp.com/ubuntu/boxes/trusty64

編輯 命令我爲了安裝使用和運行的Postgres:

  • sudo apt-get update
  • sudo apt-get install postgresql
  • sudo su postgres
  • psql -d postgres -U postgres
+0

您是否修正了此錯誤? –

回答

26

我有這個相同的問題,與我的pg_hba.conf文件(位於/etc/postgresql/9.6/main)的配置有關。請注意9.6是我正在使用的postgresql版本。

錯誤本身與postgresql的錯誤配置有關,這會導致服務器在啓動之前崩潰。

我建議按照以下說明:

  1. 證明PostgreSQL服務正在運行,使用sudo service postgresql start
  2. 運行pg_lsclusters從終端
  3. 檢查什麼是你所運行的集羣,輸出應類似於:

    版本 - 羣集端口狀態所有者數據目錄

    9.6 -------主 - 5432個在線Postgres的/var/lib/postgresql/9.6/main

    Disregard the '---' signs, as they are being used there only for alignment. The important information are the version and the cluster. You can also check whether the server is running or not on the status column.

  4. 中的複製版本和集羣的信息,並使用像這樣: pg_ctlcluster <version> <cluster> start ,所以在我的情況下,使用版本9.6和集羣'主',這將是pg_ctlcluster 9.6 main start
  5. 如果有什麼錯,然後postgresql會生成一個日誌,可以訪問/var/log/postgresql/postgresql-<version>-main.log,所以在我的情況下,完整的命令會是sudo nano /var/log/postgresql/postgresql-9.6-main.log
  6. 輸出應該顯示錯誤是什麼。

    2017-07-13 16:53:04 BRT [32176-1] LOG: invalid authentication method "all"
    2017-07-13 16:53:04 BRT [32176-2] CONTEXT: line 90 of configuration file "/etc/postgresql/9.5/main/pg_hba.conf"
    2017-07-13 16:53:04 BRT [32176-3] FATAL: could not load pg_hba.conf

  7. 修復錯誤並通過sudo service postgresql restart重新啓動postgresql服務,它應該沒問題。

我已經找了很多找到這個,功勞去這post

祝你好運!

2

是否/etc/postgresql/9.6/main/postgresql.conf顯示,被分配的端口?在我的默認Xubuntu Linux安裝中,由於某種原因,我的記錄顯示port = 5433,但我確實在同一個文件中註釋了該行,說listen_addresses = 'localhost'並取消註釋行listen_addresses = '*'。所以也許開始並在那裏檢查。希望有所幫助。

0

打開數據庫管理器和執行該腳本

update pg_database set datallowconn = 'true' where datname = 'your_database_name'; 
0

我有同樣的錯誤,當我創建一個虛擬機中的SQL數據庫。我已將/etc/postgresql/9.3/main/postgresql.conf shared_buffers = 200MB的默認值更改爲我總RAM的75%。那麼,我忘了在虛擬機中實際分配這個RAM。當我發出命令創建新數據庫時,我收到了同樣的錯誤。

斷開電源,給了寶寶它的瓶子(RAM),然後它就起作用了。

0

同樣的事情發生在我身上,因爲我改變了/etc/hosts文件中的內容。將它改回127.0.0.1 localhost它對我有用。

相關問題