新手问题 第一次使用云服务的 pg 数据库,应该如何配置呢?

QueXuQ · 2017年09月30日 · 最后由 Rei 回复于 2017年10月02日 · 2345 次阅读

使用腾讯云的过程中,本来想着可以在 VPS 上不需要装 pg 的数据库了,但是在安装 gem 'pg'才发现,还依赖 pg,所以最后还是需要把数据库装了。

装好后配置的了 database.yml:

default: &default
  adapter: postgresql
  encoding: unicode
  pool: 20
  username: 用户
  password: 密码

production:
  <<: *default
  database: 数据库名字
  url: 内网地址

然后部署在迁移的时候却提示:

01 ~/.rvm/bin/rvm default do bundle exec rake db:migrate
      01 rake aborted!
      01 PG::ConnectionBad: FATAL:  Peer authentication failed for user "用户名"

不知道我是不是哪里配置错了,才导致这个问题呢?

你还是得写 腾讯云的 用户名 和 密码。如果是单独执行,应该还要指定 rails 的环境 RAILS_ENV=production

awking 回复

上面标注的用户名和密码就是已经写了,我只是隐藏了。部署到服务器的,那肯定是 production 环境的。

不想安装 pg 就把 pg 从 Gemfile 里面移除,换成其他数据库,当然也需要更新数据库配置。。。

pynix 回复

重点是如何配置腾讯云的云数据库,而不是 pg 的安装依赖。😥 😥

QueXuQ 回复

把云数据库的 ip 端口 用户名密码写到配置文件就好了吧

# options 1
production:
  host: myhost
  database: somedatabase
  username: myuser
  password: mypass

# options 2
production:
  url: "postgres://myuser:mypass@myhost/somedatabase"
需要 登录 后方可回复, 如果你还没有账号请 注册新账号