从postgres开始为初学者

时间:2015-06-20 15:22:31

标签: ruby-on-rails database postgresql

我正在尝试使用红宝石砖(使用MAC)建立一个网站,因为我在网络开发方面很陌生。我快速生成了一个模板应用程序,但它没有工作,因为它正在寻找在后台运行的postgres数据库。

我有像Java / C一样的背景,所以老实说我不知道​​发生了什么。我只知道基本的数据库命令,如WHERE GROUP BY等,以及主要的想法。

所以我下载了pgAdmin3,希望用户界面能让它更容易。我仍然无法找到出路。现在,当我做“轨道服务器”时出现以下错误:在一个终端上,&postgres -D / usr / local / psql / data'另外一个。

FATAL: role "mike" does not exist

(我想我在/ usr / local / psql / data创建了一个数据库,但没有意识到,我只是复制了一个我在网上找到的代码,看看它是否可行,在此之前我收到了无法连接到服务器错误'因为没有数据库正在运行。)

从以下链接中,我认为我必须创建一个角色。但我不知道在哪里写“创造角色迈克”。

http://www.postgresql.org/docs/9.4/static/tutorial-createdb.html http://www.postgresql.org/docs/9.4/static/database-roles.html

如果您能告诉我编写命令的位置,我在哪里看到数据库,角色等并修改它们,我将非常感激。我想相信它比看起来更容易,即使是初学者也是如此。

3 个答案:

答案 0 :(得分:0)

  

致命:角色“迈克”不存在

这是非常常见的错误。您需要执行以下步骤来克服它。

  1. sudo -u postgres psql

  2. 现在创建您在config/database.yml的开发部分中指定的用户:

    CREATE ROLE your_user_name WITH LOGIN PASSWORD 'your_password'

答案 1 :(得分:0)

如果您有权访问命令行,则需要使用psql创建角色。如果您刚刚开始使用postgresql,那么就会有一个小技巧。 Postgresql只从postgres用户初始化开始。您必须从postgres用户登录中添加其他用户。

这就是我在新装置上的表现。

来自root用户:(假设是linux)

su postgres 
psql
create user <your user name> superuser ;
\q
exit

现在您可以将psql与常规用户ID一起使用。

答案 2 :(得分:0)

简单地转移到 http://postgresapp.com/ 绕过了错误信息。 +我有一个我想要的视觉界面。感谢您的建议,希望这也有助于其他初学者。