Rails4 使用postgreSQL做数据库

来源:互联网 发布:阿里云主机干什么的 编辑:程序博客网 时间:2024/06/05 00:49

1.首先在ubuntu下安装postgresql

sudo apt-get install postgresql

2.启动postgresql服务器

sudo /etc/init.d/postgresql start

3.登陆postgresql
postgresql安装完成后默认只有一个用户、就是postgres、所以只能切换成这个用户登录

sudo su postgres -c psql

更改postgres的密码

ALTER USER postgres WITH PASSWORD '123456';

4.在rails中配置
1.在Gemfile中添加

gem 'pg'

再执行一次bundle install 安装gem
2.配置rails项目中的config/database.yml

# Configure Using Gemfile# gem 'pg'#default: &default  adapter: postgresql  encoding: unicode  username: postgres  password: 123456  # For details on connection pooling, see rails configuration guide  # http://guides.rubyonrails.org/configuring.html#database-pooling  pool: 5development:  <<: *default  database: cool_developmenttest:  <<: *default  database: cool_testproduction:  <<: *default  database: cool_production  username: cool  password: <%= ENV['COOL_DATABASE_PASSWORD'] %>

3.解决ActiveRecord::NoDatabaseError (FATAL: database "cool_development" does not exist
rails不会自动给建立数据库 所以要手动建立自己要使用的数据库

createdb cool_development -U postgres

出现错误:psql: FATAL: Peer authentication failed for user “postgres”, 解决办法如下:
1. 运行下面的命令编辑pg_hba.conf文件

sudo gedit /etc/postgresql/9.1/main/pg_hba.conf
2. 将

`# Database administrative login by Unix domain socketlocal   all             postgres                                peer`

改为

# Database administrative login by Unix domain socketlocal   all             postgres                                trust
  1. 保存后执行下面的命令重新加载配置文件:
sudo /etc/init.d/postgresql reload

再执行 createdb cool_development -U postgres , 已经成功的创建了cool_development 数据库.

0 0