Ruby on rails 在windows上安装Postgres以便与Ruby on Rails一起使用

Ruby on rails 在windows上安装Postgres以便与Ruby on Rails一起使用,ruby-on-rails,windows,ruby-on-rails-3,postgresql,installation,Ruby On Rails,Windows,Ruby On Rails 3,Postgresql,Installation,目前我得到以下错误: PGError(致命:用户“postgres”的密码身份验证失败): 当我的应用程序尝试访问数据库时 我想针对postgres测试我的SQL调用,因为我的应用程序在Heroku上线时经常中断,因为postgres对sqlite 3的要求更严格(我认为这可能是一件健康的事情)。因此,我有一个类似的请求,要求提供一个不过时的教程,用于在windows(7)上安装与ruby on rails一起使用的postgres。我原以为下载和安装只需20分钟,但2个多小时后,我想我还不太接

目前我得到以下错误:

PGError(致命:用户“postgres”的密码身份验证失败):

当我的应用程序尝试访问数据库时

我想针对postgres测试我的SQL调用,因为我的应用程序在Heroku上线时经常中断,因为postgres对sqlite 3的要求更严格(我认为这可能是一件健康的事情)。因此,我有一个类似的请求,要求提供一个不过时的教程,用于在windows(7)上安装与ruby on rails一起使用的postgres。我原以为下载和安装只需20分钟,但2个多小时后,我想我还不太接近。到目前为止,我已经:

下载并安装Postgres版本8.4.8-1

设置我的环境变量,使路径(用户)为:
C:\Ruby192\bin;C:\ProgramFiles(x86)\PostgreSQL\8.4\bin

档案:

为我的rails应用程序运行了
捆绑安装
,看起来很成功,但还没有找到验证安装的简单方法

将database.yml设置为:

我知道我需要,并输入我的本地IP地址,我将连接到它,然后编辑“C:\Program files(x86)\PostgreSQL\8.4\data”等中的另一个.conf文件

我认为Rails让我变得软弱了,我是不是想得太多了,还是设置起来真的相当棘手,我应该回到Sqlite3,它还有非常有用的SQLite管理器Firefox插件

我还在寻找一本安装和使用Postgres for rails的初学者指南,但到目前为止,我只是被我看到/尝试过的大多数东西弄糊涂了,比如,,(对于雪豹),(linux)

任何指点都将不胜感激。谢谢


James

您的链接中没有一个是(可以说)最有用的文档—postgresql文档。最近,我结合使用这些文档和配置了一个带有postgresql和django的Linux Mint box,尽管后者是特定于Linux的

我更关心的是验证postgresql方面的内容,而不是rails。也就是说,您的问题应该是“如何在Windows7机器上设置和测试postgresql服务器”,而不是您需要知道如何将其锁定到rails中

编辑: 也许对你也有用——官方的postgresql wiki提供了详细的安装指南


祝你好运

在windows 7上安装Postgres以用作rails 3(3.0.7)项目的PostgreSQL数据库的方法


序言(您可以跳过此位)

所以首先要指出的是,Postgres不仅仅是与.sqlite3不同的文件扩展名,它是一种管理数据库的完整机制。因此,它有一个客户机/服务器模型,您需要对其进行设置,以使用Postgres作为rails应用程序的数据库

经历Postgres设置与几乎毫不费力的sqlite设置的巨大痛苦的动机:如果您要部署到Heroku,他们目前正在使用Postgres,因此您在sqlite3上的一些SQL调用在与Postgres一起使用时会中断。在本地调试postgres要比在Heroku的服务器上调试容易得多

所以我做了以下几件事: (免责声明:我可能忘了包括我做过的一些事情……我花了48个多小时的断断续续的痛苦才让它开始工作……如果以下建议对你不起作用,那么它就太大了(2300页!!)但是应该会有帮助。如果你真的想使用Postgres,我建议你下载这篇文章,因为它有很多我刚刚开始理解的内容。) (第二个免责声明:我几乎肯定违反了20条合理的Postgres指南,并在这样做的同时暴露了Postgres数据库中的安全漏洞。如果有任何明显的事情一位经验丰富的Postgres用户不同意,请编辑我的帖子。)


。步骤1。从下载并安装PostgreSQL v9.0.4-1,因为windows 7上只支持9.0.x。我保留了所有默认选项,只是在Postgres安装程序提示下使用了“secret”作为密码(我也不完全确定在互联网上共享这些信息的后果是什么……我肯定很快就会发现)。在步骤3中,您将需要此密码

.Step 2.更改环境变量,使路径((我不确定这是否重要))为:
C:\Program Files\PostgreSQL\9.0\bin

(注意,我在64位windows上,因此未在“C:\Program Files(x86)\PostgreS…”中安装32位的windows)

不要忘记更改对文件夹PostgreSQL\9.0的访问权限,并删除该文件夹或内容的任何默认只读权限。 (您可能还需要重新启动计算机才能使其生效-谢谢@Gavin-尽管不太可能)

。步骤3。通过尝试创建新数据库来测试Postgres的安装: 从命令行:
createdb-U postgres mydb\U as\U postgres
。 现在应该提示您输入密码,如果您没有,可能需要先启动服务器(我不记得是否需要这样做)。最简单的方法是通过pgAdmin III,它应该是位于
C:\Program Files\PostgreSQL\9.0\bin
等文件夹中的“pgAdmin3.exe”。启动pgAdmin III后,左边应该有一个名为“对象浏览器”的面板。在这种情况下,应该有一棵树:

服务器组>服务器>PostgreSQL 9.0(本地主机:5432)

右键单击“PostgreSQL 9.0(本地主机:5432)”并选择“连接”

createdb-U postgres mydb_as_postgres
命令应该创建一个名为“mydb_as_postgres”的新数据库,您可以通过启动pgAdmin III并双击“PostgreSQL 9.0(localhost:5432)”来检查该数据库。根据这一点,应当:

数据库(2)
其中应列出两个名为
my的数据库
gem 'pg', '0.11.0'  # instead of gem 'sqlite3', '1.3.3'
development:
  adapter: postgresql
  database: db/development
  username: postgres
  password: secret
  host: localhost
  encoding: UTF8
  pool: 5
  timeout: 5000
C:>psql mydb_as_user
Password:
psql (9.0.4)
WARNING: Console code page (850) differs from Windows code page (1252)
         8-bit characters might not work correctly. See psql reference
         page "Notes for Windows users" for details.
Type "help" for help.

mydb5=# 
CREATE TABLE
mydb5=#
ERROR:  syntax error at or near "PRAGMA"
LINE 1: PRAGMA foreign_keys=OFF;
        ^
BEGIN
COMMIT
development:
  adapter: postgresql
  database: db/development
  username: AJames # replace this with your own user name
  password: secret # replace this with your own password
  host: localhost
  encoding: UTF8
  pool: 5
  timeout: 5000
    database: db/development 
    database: development
    rake db:create 
    rake db:migrate