Mac上的Postgres Rails应用设置无法正常工作

时间:2018-09-08 18:55:21

标签: ruby-on-rails ruby postgresql

我在High Sierra 10.13.6上使用Mac

我尝试将Rails应用程序设置为在Mac上本地运行。当我尝试使用“ createdb xyz”和“ bin / setup”设置数据库时,出现错误消息:

数据库“ xyz”不存在 致命:角色“ postgres”不存在

无法为{“ adapter” =>“ postgresql”,“ encoding” =>“ unicode”,“ pool” => 5,“ template” =>“ template0”,“ host” =>“创建数据库localhost“,”用户名“ =>” postgres“,”密码“ =>” postgres“,”数据库“ =>” xyz“} 铁轨中止了!

有什么办法解决这个问题吗?

2 个答案:

答案 0 :(得分:0)

首先,您需要为Rails应用程序创建一个postgres用户。您可以按照以下命令切换到postgres用户来完成此操作。

> sudo su postgres
> psql

然后创建一个用户:

> create role role_name with createdb login password 'password';

然后退出> \q > exit

使用您在postgres中创建的凭据替换config/database.yml文件中的用户名和密码,然后运行bin/setup

有关更多参考,您可以遵循此link

答案 1 :(得分:0)

如果您使用自制软件安装Postgres,则可能是使用您的操作系统(OS)USER(例如您的名字)创建的SUPERUSER。如果需要Postgres用户,则必须使用以下命令进行创建:

dedeco@MacBook-Pro-Dedeco> psql postgres                                                                                                              
psql (12.2)
Type "help" for help.

postgres=# \du
                                   List of roles
 Role name |                         Attributes                         | Member of
-----------+------------------------------------------------------------+-----------
 dedeco    | Superuser, Create role, Create DB, Replication, Bypass RLS | {}

postgres=# CREATE USER postgres SUPERUSER;
CREATE ROLE
postgres=#