【发布时间】:2017-03-18 12:33:45
【问题描述】:
我正在使用 postgre gem 开发一个 Ruby on Rails 应用程序,这就是我的 database.yml 的样子:
development:
adapter: postgresql
encoding: utf-8
pool: 5
username: "hytxlzju"
password: "xxxxx"
host: "jumbo.db.elephantsql.com"
port: "5432"
database: "hytxlzju"
production:
adapter: postgresql
encoding: utf-8
pool: 5
username: "hytxlzju"
password: "xxxxxx"
host: "jumbo.db.elephantsql.com"
port: "5432"
database: "hytxlzju"
每当我从rails console 本地连接到这个数据库时,我都会获得太多连接。如何在用户注销后在代码中杀死一个连接,以及在完成更改表?
[编辑] 这是错误信息:
C:/RailsInstaller/Ruby2.2.0/lib/ruby/gems/2.2.0/gems/activerecord-3.2.22.5/lib/active_record/connection_adapters/postgresql_adapter.rb:12
22:in `initialize': FATAL: too many connections for role "hytxlzju" (PG::ConnectionBad)
[编辑] 我添加了我的初始化程序,仍然没有成功:
Rails.application.config.after_initialize do
ActiveRecord::Base.connection_pool.disconnect!
ActiveSupport.on_load(:active_record) do
config = ActiveRecord::Base.configurations[Rails.env] ||
Rails.application.config.database_configuration[Rails.env]
config['pool'] = ENV['DB_POOL'] || ENV['RAILS_MAX_THREADS'] || 5
ActiveRecord::Base.establish_connection(config)
end
end
【问题讨论】:
标签: ruby-on-rails ruby database postgresql rubygems