Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/59.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将现有MySQL rails应用程序转换为使用Postgres:';所有池连接都在使用中';_Mysql_Ruby On Rails_Ruby_Postgresql - Fatal编程技术网

将现有MySQL rails应用程序转换为使用Postgres:';所有池连接都在使用中';

将现有MySQL rails应用程序转换为使用Postgres:';所有池连接都在使用中';,mysql,ruby-on-rails,ruby,postgresql,Mysql,Ruby On Rails,Ruby,Postgresql,我正在将一个项目从MySQL转换为PostgreSQL。配置后,当我运行rake db:create或rake db:migrate时,我得到错误:ActiveRecord::ConnectionTimeoutError:无法在5.000秒内从池中获得连接(等待5.000秒);所有池连接都在使用中 我试着把游泳池增加到50个。同一台机器上的另一个rails项目很好地使用了PostgreSQL。你知道会发生什么吗 完整堆栈跟踪是: ActiveRecord::ConnectionTimeoutEr

我正在将一个项目从MySQL转换为PostgreSQL。配置后,当我运行
rake db:create
rake db:migrate
时,我得到错误:
ActiveRecord::ConnectionTimeoutError:无法在5.000秒内从池中获得连接(等待5.000秒);所有池连接都在使用中

我试着把游泳池增加到50个。同一台机器上的另一个rails项目很好地使用了PostgreSQL。你知道会发生什么吗

完整堆栈跟踪是:

ActiveRecord::ConnectionTimeoutError: could not obtain a connection from the pool within 5.000 seconds (waited 5.000 seconds); all pooled connections were in use
/Users/tonyporteous/.rvm/gems/ruby-2.5.3@citydash/gems/activerecord-5.1.6.1/lib/active_record/connection_adapters/abstract/connection_pool.rb:202:in `block in wait_poll'
/Users/tonyporteous/.rvm/gems/ruby-2.5.3@citydash/gems/activerecord-5.1.6.1/lib/active_record/connection_adapters/abstract/connection_pool.rb:193:in `loop'
/Users/tonyporteous/.rvm/gems/ruby-2.5.3@citydash/gems/activerecord-5.1.6.1/lib/active_record/connection_adapters/abstract/connection_pool.rb:193:in `wait_poll'
/Users/tonyporteous/.rvm/gems/ruby-2.5.3@citydash/gems/activerecord-5.1.6.1/lib/active_record/connection_adapters/abstract/connection_pool.rb:154:in `internal_poll'
/Users/tonyporteous/.rvm/gems/ruby-2.5.3@citydash/gems/activerecord-5.1.6.1/lib/active_record/connection_adapters/abstract/connection_pool.rb:278:in `internal_poll'
/Users/tonyporteous/.rvm/gems/ruby-2.5.3@citydash/gems/activerecord-5.1.6.1/lib/active_record/connection_adapters/abstract/connection_pool.rb:148:in `block in poll'
/Users/tonyporteous/.rvm/gems/ruby-2.5.3@citydash/gems/activerecord-5.1.6.1/lib/active_record/connection_adapters/abstract/connection_pool.rb:158:in `synchronize'
/Users/tonyporteous/.rvm/gems/ruby-2.5.3@citydash/gems/activerecord-5.1.6.1/lib/active_record/connection_adapters/abstract/connection_pool.rb:148:in `poll'
/Users/tonyporteous/.rvm/gems/ruby-2.5.3@citydash/gems/activerecord-5.1.6.1/lib/active_record/connection_adapters/abstract/connection_pool.rb:747:in `acquire_connection'
/Users/tonyporteous/.rvm/gems/ruby-2.5.3@citydash/gems/activerecord-5.1.6.1/lib/active_record/connection_adapters/abstract/connection_pool.rb:500:in `checkout'
/Users/tonyporteous/.rvm/gems/ruby-2.5.3@citydash/gems/activerecord-5.1.6.1/lib/active_record/connection_adapters/abstract/connection_pool.rb:374:in `connection'
/Users/tonyporteous/.rvm/gems/ruby-2.5.3@citydash/gems/activerecord-5.1.6.1/lib/active_record/connection_adapters/abstract/connection_pool.rb:931:in `retrieve_connection'
/Users/tonyporteous/.rvm/gems/ruby-2.5.3@citydash/gems/activerecord-5.1.6.1/lib/active_record/connection_handling.rb:116:in `retrieve_connection'
/Users/tonyporteous/.rvm/gems/ruby-2.5.3@citydash/gems/activerecord-5.1.6.1/lib/active_record/connection_handling.rb:88:in `connection'
/Users/tonyporteous/.rvm/gems/ruby-2.5.3@citydash/gems/activerecord-5.1.6.1/lib/active_record/schema_migration.rb:20:in `table_exists?'
/Users/tonyporteous/.rvm/gems/ruby-2.5.3@citydash/gems/activerecord-5.1.6.1/lib/active_record/schema_migration.rb:24:in `create_table'
/Users/tonyporteous/.rvm/gems/ruby-2.5.3@citydash/gems/activerecord-5.1.6.1/lib/active_record/migration.rb:1125:in `initialize'
/Users/tonyporteous/.rvm/gems/ruby-2.5.3@citydash/gems/activerecord-5.1.6.1/lib/active_record/migration.rb:1007:in `new'
/Users/tonyporteous/.rvm/gems/ruby-2.5.3@citydash/gems/activerecord-5.1.6.1/lib/active_record/migration.rb:1007:in `up'
/Users/tonyporteous/.rvm/gems/ruby-2.5.3@citydash/gems/activerecord-5.1.6.1/lib/active_record/migration.rb:985:in `migrate'
/Users/tonyporteous/.rvm/gems/ruby-2.5.3@citydash/gems/activerecord-5.1.6.1/lib/active_record/tasks/database_tasks.rb:171:in `migrate'
/Users/tonyporteous/.rvm/gems/ruby-2.5.3@citydash/gems/activerecord-5.1.6.1/lib/active_record/railties/databases.rake:58:in `block (2 levels) in <top (required)>'
/Users/tonyporteous/.rvm/gems/ruby-2.5.3@citydash/gems/rake-12.3.2/exe/rake:27:in `<top (required)>'
/Users/tonyporteous/.rvm/gems/ruby-2.5.3@citydash/bin/ruby_executable_hooks:24:in `eval'
/Users/tonyporteous/.rvm/gems/ruby-2.5.3@citydash/bin/ruby_executable_hooks:24:in `<main>'
Tasks: TOP => db:migrate
(See full trace by running task with --trace)
ActiveRecord::ConnectionTimeoutError:无法在5.000秒内从池中获取连接(等待了5.000秒);所有池连接都在使用中
/Users/tonyporteous/.rvm/gems/ruby-2.5。3@citydash/gems/activerecord-5.1.6.1/lib/active\u record/connection\u adapters/abstract/connection\u pool.rb:202:在'block in wait\u poll'中
/Users/tonyporteous/.rvm/gems/ruby-2.5。3@citydash/gems/activerecord-5.1.6.1/lib/active\u record/connection\u adapters/abstract/connection\u pool.rb:193:in'loop'
/Users/tonyporteous/.rvm/gems/ruby-2.5。3@citydash/gems/activerecord-5.1.6.1/lib/active\u record/connection\u adapters/abstract/connection\u pool.rb:193:in'wait\u poll'
/Users/tonyporteous/.rvm/gems/ruby-2.5。3@citydash/gems/activerecord-5.1.6.1/lib/active\u record/connection\u adapters/abstract/connection\u pool.rb:154:在“内部轮询”中
/Users/tonyporteous/.rvm/gems/ruby-2.5。3@citydash/gems/activerecord-5.1.6.1/lib/active\u record/connection\u adapters/abstract/connection\u pool.rb:278:in'internal\u poll'
/Users/tonyporteous/.rvm/gems/ruby-2.5。3@citydash/gems/activerecord-5.1.6.1/lib/active\u record/connection\u adapters/abstract/connection\u pool.rb:148:“轮询中的块”中
/Users/tonyporteous/.rvm/gems/ruby-2.5。3@citydash/gems/activerecord-5.1.6.1/lib/active\u record/connection\u adapters/abstract/connection\u pool.rb:158:在“同步”中
/Users/tonyporteous/.rvm/gems/ruby-2.5。3@citydash/gems/activerecord-5.1.6.1/lib/active\u record/connection\u adapters/abstract/connection\u pool.rb:148:in'poll'
/Users/tonyporteous/.rvm/gems/ruby-2.5。3@citydash/gems/activerecord-5.1.6.1/lib/active\u record/connection\u adapters/abstract/connection\u pool.rb:747:in'acquire\u connection'
/Users/tonyporteous/.rvm/gems/ruby-2.5。3@citydash/gems/activerecord-5.1.6.1/lib/active\u record/connection\u adapters/abstract/connection\u pool.rb:500:在“签出”中
/Users/tonyporteous/.rvm/gems/ruby-2.5。3@citydash/gems/activerecord-5.1.6.1/lib/active\u record/connection\u adapters/abstract/connection\u pool.rb:374:in'connection'
/Users/tonyporteous/.rvm/gems/ruby-2.5。3@citydash/gems/activerecord-5.1.6.1/lib/active_-record/connection_-adapters/abstract/connection_-pool.rb:931:in'retrieve_-connection'
/Users/tonyporteous/.rvm/gems/ruby-2.5。3@citydash/gems/activerecord-5.1.6.1/lib/active\u record/connection\u handling.rb:116:in'retrieve\u connection'
/Users/tonyporteous/.rvm/gems/ruby-2.5。3@citydash/gems/activerecord-5.1.6.1/lib/active\u record/connection\u handling.rb:88:in'connection'
/Users/tonyporteous/.rvm/gems/ruby-2.5。3@citydash/gems/activerecord-5.1.6.1/lib/active\u record/schema\u migration.rb:20:在“table\u exists”中
/Users/tonyporteous/.rvm/gems/ruby-2.5。3@citydash/gems/activerecord-5.1.6.1/lib/active\u record/schema\u migration.rb:24:in'create\u table'
/Users/tonyporteous/.rvm/gems/ruby-2.5。3@citydash/gems/activerecord-5.1.6.1/lib/active_record/migration.rb:1125:in'initialize'
/Users/tonyporteous/.rvm/gems/ruby-2.5。3@citydash/gems/activerecord-5.1.6.1/lib/active_record/migration.rb:1007:in'new'
/Users/tonyporteous/.rvm/gems/ruby-2.5。3@citydash/gems/activerecord-5.1.6.1/lib/active_record/migration.rb:1007:in'up'
/Users/tonyporteous/.rvm/gems/ruby-2.5。3@citydash/gems/activerecord-5.1.6.1/lib/active_record/migration.rb:985:in'migrate'
/Users/tonyporteous/.rvm/gems/ruby-2.5。3@citydash/gems/activerecord-5.1.6.1/lib/active_record/tasks/database_tasks.rb:171:in'migrate'
/Users/tonyporteous/.rvm/gems/ruby-2.5。3@citydash/gems/activerecord-5.1.6.1/lib/active_record/railties/databases.rake:58:in'block(2层)in'
/Users/tonyporteous/.rvm/gems/ruby-2.5。3@citydash/gems/rake-12.3.2/exe/rake:27:in`'
/Users/tonyporteous/.rvm/gems/ruby-2.5。3@citydash/bin/ruby可执行文件挂钩:24:in'eval'
/Users/tonyporteous/.rvm/gems/ruby-2.5。3@citydash/bin/ruby\u可执行文件\u挂钩:24:in`'
任务:TOP=>db:migrate
(通过使用--trace运行任务查看完整跟踪)
配置文件部分如下所示:

default: &default
  adapter: postgresql
  encoding: unicode
  # For details on connection pooling, see Rails configuration guide
  # https://guides.rubyonrails.org/configuring.html#database-pooling
  pool: <%%= ENV.fetch("RAILS_MAX_THREADS") { 5 } %>

development:
  <<: *default
  database: projectx_development
gem 'pg', '>= 0.18', '< 2.0'
default:&default
适配器:postgresql
编码:unicode
#有关连接池的详细信息,请参阅Rails配置指南
# https://guides.rubyonrails.org/configuring.html#database-汇集
游泳池:
发展:

问题已解决:由database.yml文件中的错误引起:

pool: <%%= ENV.fetch("RAILS_MAX_THREADS") { 5 } %>
池:
应该是

pool: <%= ENV.fetch("RAILS_MAX_THREADS") { 5 } %>
池:
这(我猜)是导致池大小为0的原因