【发布时间】:2017-07-04 06:59:42
【问题描述】:
我正在开发一个使用 PostgreSQL 的 Rails 项目,我想将数据库登录详细信息存储在一个文件中,并使用 rbenv-vars 使用环境变量访问它们。我正在运行 Ubuntu 16.10。
考虑以下文件:
pg_hba.conf
# Database administrative login by Unix domain socket
local all postgres peer
# TYPE DATABASE USER ADDRESS METHOD
# "local" is for Unix domain socket connections only
local all all md5
# IPv4 local connections:
host all all 127.0.0.1/32 md5
# IPv6 local connections:
host all all ::1/128 md5
# Allow replication connections from localhost, by a user with the
# replication privilege.
#local replication postgres peer
#host replication postgres 127.0.0.1/32 md5
#host replication postgres ::1/128 md5
database.yml
default: &default
adapter: postgresql
encoding: unicode
host: localhost
pool: 5
username: consul
password: <% ENV['CONSUL_DATABASE_PASSWORD'] %>
.rbenv-vars
SECRET_KEY_BASE=(secret key)
CONSUL_DATABASE_PASSWORD=(database password)
当我尝试使用 rake db:create 命令为项目创建数据库时,我收到此错误:
fe_sendauth: no password supplied
我尝试以明文形式存储密码,但它确实有效,但正如您所想象的,我不想那样做。
【问题讨论】:
标签: ruby-on-rails ruby postgresql ubuntu-16.10 rbenv-vars