Ruby on rails “接收”;PG::ConnectionBad fe_sendauth:未提供密码;在rails的环境变量中存储密码时出错

Ruby on rails “接收”;PG::ConnectionBad fe_sendauth:未提供密码;在rails的环境变量中存储密码时出错,ruby-on-rails,ruby,pg,Ruby On Rails,Ruby,Pg,我最近将db从sqlite3切换到PG。我的PG用户名和密码是硬编码的,虽然它可以工作,但这不是安全的做法。因此,我将密码存储在.yml文件中的一个ENV变量中,并在database.yml文件中引用该变量,但当我运行服务器时,会出现错误“PG::ConnectionBad” fe_sendauth:未提供密码“ 以下是我的pg_keys.yml文件 PG_PASSWORD: "***********" 下面是我的database.yml文件: default: &

我最近将db从sqlite3切换到PG。我的PG用户名和密码是硬编码的,虽然它可以工作,但这不是安全的做法。因此,我将密码存储在.yml文件中的一个ENV变量中,并在database.yml文件中引用该变量,但当我运行服务器时,会出现错误“PG::ConnectionBad” fe_sendauth:未提供密码“

以下是我的pg_keys.yml文件

PG_PASSWORD: "***********" 
下面是我的database.yml文件:

default: &default
  adapter: postgresql 
  encoding: unicode 
  pool: <%= ENV.fetch("RAILS_MAX_THREADS") { 5 } %>
  timeout: 5000

development:
  <<: *default
  database: stockapp_development 
  username: postgres
  password: <%= ENV['PG_PASSWORD'] %>
  host: localhost

# Warning: The database defined as "test" will be erased and
# re-generated from your development database when you run "rake".
# Do not set this db to the same as development or production.
test:
  <<: *default
  database: stockapp_test 
  host: localhost 
  username: postgres
  password: <%= ENV['PG_PASSWORD'] %>

production:
  <<: *default
  database: stockapp_production 
  username: stockapp 
  password: <%= ENV['STOCKAPP_DATABASE_PASSWORD'] %> 
default:&default
适配器:postgresql
编码:unicode
游泳池:
超时:5000
发展:

这是因为
ENV
变量来自

通过将此gem添加到
gem文件
,安装此gem,然后运行
bundle
,并在根目录中的
.env
中设置变量
PGèu PASSWORD=***************
。那么它应该可以正常工作