我運行了 postgresql 服務,但是當我運行rake db:create它時中止 rake 并拋出錯誤
ActiveRecord::NoDatabaseError:連接到套接字“/tmp/.s.PGSQL.5432”上的服務器失敗:致命:資料庫“chat_development”不存在
在我的database.yml我有
development:
<<: *default
database: chat_development
通過運行 rake 命令,它應該創建資料庫,但它沒有。我做了很多研究并嘗試了給出的解決方案,但沒有任何效果。我確實檢查了這個討論here但是當我運行rm /usr/local/var/postgres/postmaster.pid它時會拋出錯誤
rm:/usr/local/var/postgres/postmaster.pid:沒有這樣的檔案或目錄
如果我運行命令ps auxwww | grep postgres,它將顯示/opt/homebrew/opt/postgresql/bin/postgres -D /opt/homebrew/var/postgres
如果我沒記錯的話,當我開始(大約 4 周前)并使用Postgres.app安裝時,我遇到了 postgres 安裝問題,那么我也安裝了brew install postgresql(因為我使用的是 mac)。我不確定是否由于多次安裝而發生沖突。
但剛才我卸載了 postgres.app 并gem uninstall pg使用命令運行并重新安裝gem install pg -- --with-pg-config=/usr/local/bin/pg_config(參考這里)
問題仍然存在。我不知道該怎么辦了。很高興有人可以提供幫助。謝謝!
uj5u.com熱心網友回復:
有這個問題并且從來沒有完全弄清楚為什么rails會這樣做,但下面應該解決它。
- 在終端
psql template1 CREATE USER <username from config/database.yml if specified> with password '<password from config/database.yml if specified>';ALTER USER <username ...> WITH SUPERUSER;CREATE DATABASE chat_development WITH OWNER = '<username ...>';CREATE DATABASE chat_test WITH OWNER = '<username ...>';
您不需要步驟 2/3,或者WITH OWNER = '<username>';除非您在config/database.yml.
一些常見的錯誤,注意我放單引號的地方,別忘了分號!
uj5u.com熱心網友回復:
為了解決這個問題,您需要逐步進行。
- 運行 postgresql 服務器
- 使用像 psql 這樣的簡單客戶端測驗創建示例資料庫,它應該顯示服務器是否正在運行,并且您擁有正確的套接字/埠連接和具有授權的用戶憑據
- 檢查您的應用程式配置以查看您是否具有正確的連接和用戶憑據設定
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/464553.html
標籤:轨道上的红宝石 PostgreSQL 皮克
