簡體   English   中英

psql:錯誤:連接到套接字“/tmp/.s.PGSQL.5432”上的服務器失敗:致命:數據庫“myname”不存在

[英]psql: error: connection to server on socket "/tmp/.s.PGSQL.5432" failed: FATAL: database "myname" does not exist

我使用 postgresql 在我的本地環境上運行一個 Rails 應用程序。今天早上我啟動了一個新應用程序並在安裝 pg gem 等之后。我在嘗試運行時遇到以下錯誤

psql
psql: error: connection to server on socket "/tmp/.s.PGSQL.5432" failed: FATAL:  database "jackcollins" does not exist

奇怪的是數據庫名稱“jackcollins”來自我的其他 Rails 應用程序。

我跑了

pgrep -l postgres

output 是

20902 postgres
20919 postgres
20920 postgres
20921 postgres
20922 postgres
20923 postgres
20924 postgres

我不確定如何繼續,以便這些應用程序都可以運行自己的 postgres 實例。

我和你有同樣的問題,在嘗試重新安裝、rm -rf xxx.pid 等之后,我最終執行了以下命令並最終能夠連接到 PostgreSQL 數據庫。

  1. brew install postgresql
  2. 出現一條錯誤消息
  3. 運行createdb (因為 macs 在安裝 PostgreSQL 后不會創建用戶名數據庫)
  4. 執行psql連接成功。

如果你輸入

psql --help

在終端中,您會看到默認數據庫是您的用戶名。 除非你在 PostgreSQL 中有那個數據庫,否則你會得到一個錯誤。 相反,您可以運行命令

psql -d your_database_name

另外,如果您想以特定用戶身份登錄(默認情況下是當前用戶):

psql -d your_database_name -U your_username -W

最后一個 -W 是密碼。 希望能幫助到你!

關於錯誤,您正在嘗試連接到jackcollins ,請您測試嘗試使用數據庫標志連接嗎?:

psql -d your_database_name

在沒有-d <database_name>的情況下, psql將使用 OS 用戶名作為數據庫名。 與許多事情一樣,最好是顯式而不是隱式,尤其是在處理新實例時。 此外使用-h <host_name>-p <port_number>-U <user_name> 然后你知道你在連接誰,以及如何連接。 它在這里拼寫出來psql並且因為psql是一個libpq程序在這里更詳細的關鍵字

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM