迁移到postgresql时无法创建数据库

时间:2013-11-14 19:18:26

标签: ruby-on-rails postgresql heroku

我正在尝试在heroku上部署一个我用RoR创建的简单博客用于学习目的,并且不支持sqlite3,所以我决定迁移到PostgreSQL。

我更改了我的database.yml文件

development:
adapter: postgresql
encoding: utf8
database: blog_development
pool: 5
username: user
password:

test:
adapter: postgresql
encoding: utf8
database: blog_test
pool: 5
username: user
password:

使用以下命令安装PostgreSQL:

brew install postgresql

删除了sqlite3并添加了:

gem 'pg' 

并运行bundle install

当我尝试跑步时:

rake db:create
我得到了:

could not connect to server: Connection refused
Is the server running on host "localhost" (127.0.0.1) and accepting
TCP/IP connections on port 5432?

我尝试用以下方法修复它:

In Rails, Couldn't create database for {"adapter"=>"postgresql",

http://russbrooks.com/2010/11/25/install-postgresql-9-on-os-x

http://www.mozmorris.com/2011/11/15/configure-postgresql-to-accept-tcpip-connections.html

ADDL。的信息:

RoR:4.0

Ruby:2.0.0

psql:9.3.1

pg:'0.17.0'

OS:OSX Mavericks

2 个答案:

答案 0 :(得分:2)

确保postgres正在运行

首先使用自制软件安装postgres(您已经完成)

brew install postgresql

第二:创建一个新的PostgreSQL数据库集群

initdb /usr/local/var/postgres

最后:启动postgresql

pg_ctl -D /usr/local/var/postgres -l /usr/local/var/postgres/server.log start

答案 1 :(得分:1)

也许“用户”用户不存在。 在命令行上,试试这个:

psql
psql=# create user name_here;
psql=# alter user name_here superuser;
psql=# \q