我在真正的基础知识上磕磕绊绊,因为我找不到任何明确的方向。
我在OS X上安装了Postgres.app 9.3.5。
文档告诉我如何创建数据库createdb mydb
,但要使用它,我需要一个PostgreSQL用户和该用户的密码。
在本地创建带有密码的PostgreSQL 用户的基本步骤(以及与上述不同的数据库) PostgreSQL安装?
答案 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;