在Rails5控制台中Postgres

问题描述 投票:2回答:2

我打开了rails控制台并调用了DatabaseTable,但它失败了。我跟着

psql: could not connect to server: No such file or directory (Mac OS X)

我试图打开postgres,我得到了错误。

$ psql

psql: could not connect to server: No such file or directory
    Is the server running locally and accepting
    connections on Unix domain socket "/tmp/.s.PGSQL.5432"?

我打电话给日志来观察发生的事情。

$ tail -f /usr/local/var/postgres/server.log

FATAL:  database "ror_development" does not exist
ERROR:  database "ror_development" already exists
STATEMENT:  CREATE DATABASE "ror_development" ENCODING = 'utf8'
ERROR:  database "ror_test" already exists
STATEMENT:  CREATE DATABASE "ror_test" ENCODING = 'utf8'
FATAL:  database "harem_backend_development" does not exist
LOG:  received smart shutdown request
LOG:  autovacuum launcher shutting down
LOG:  shutting down
LOG:  database system is shut down

我无法理解我的sql发生了什么,以及如何解决它

ruby-on-rails postgresql
2个回答
1
投票

确保postgres在MacOS上运行。

如果您使用Homebrew安装postgres,您应该可以使用brew启动它:

brew services start postgresql

否则,您可以使用以下命令启动它:

pg_ctl -D /usr/local/var/postgres start

有关如何在MacOS中安装和使用postgres的更多信息,请阅读this guide

设置您的Rails数据库(Rails> = 5)

启动postgres后,您就可以设置Rails数据库了。

要创建数据库:

 rails db:create

要迁移数据库:

 rails db:migrate

种子数据库:

 rails db:seed

要创建和种子数据库:

 rails db:setup

最后,删除(删除)数据库:

 rails db:drop

对于Rails <5,在上面的命令中用rails替换bundle exec rake

有关使用Rails设置和配置数据库的更多信息,请阅读Rails Guide


1
投票

从日志消息来看,你的Postgres似乎没有运行(看起来像postgres进程被手动杀死了。)。尝试再次启动Postgres

pg_ctl -D /usr/local/var/postgres start
psql
© www.soinside.com 2019 - 2024. All rights reserved.