在本地为Ruby on Rails设置PostgreSQL数据库

时间:2014-09-30 23:17:25

标签: macos postgresql rails-postgresql

我在真正的基础知识上磕磕绊绊,因为我找不到任何明确的方向。

我在OS X上安装了Postgres.app 9.3.5。

文档告诉我如何创建数据库createdb mydb,但要使用它,我需要一个PostgreSQL用户和该用户的密码。

在本地创建带有密码的PostgreSQL 用户的基本步骤(以及与上述不同的数据库) PostgreSQL安装?

2 个答案:

答案 0 :(得分:1)

Postgres.app documentation过去常常解释这一点,但最近似乎已被拆分并缩短了。

您不需要专门的用户;您只需使用默认的postgres用户即可。但是,因为这是超级用户,所以为您的应用创建权限较低的用户是明智的。

您通常希望使用应用程序用户拥有数据库,因为Rails希望能够使用同一用户来更改迁移模式,就像运行查询一样。 (这在安全方面并不是很好,但它是Rails阻力最小的路径。)

因此,创建用户,然后创建数据库。

这是它的外观。不要输入提示($postgres=#),它们会显示您正在运行的内容。只需在提示后输入命令即可。

$ psql -q
postgres=# CREATE USER myapp WITH ENCRYPTED PASSWORD 'mypassword';
postgres=# CREATE DATABASE myappdb OWNER myapp;
postgres=# \q

您现在可以在database.yml中指定用户,密码和数据库。

(请注意,Postgres.app可能配置为不需要密码;在这种情况下,PostgreSQL将忽略密码。)

答案 1 :(得分:0)

createdb mydb
psql -s mydb
create user space_pilot password 'hello';
GRANT ALL PRIVILEGES ON DATABASE mydb TO space_pilot;