ruby-on-rails - 导入数据时出现postgresql错误
问题描述
我正在使用Ruby on Rails 5.1.7
和Postgresql 9.5
在我的ubuntu
服务器上。我正在通过gem将hash
(有 10k 条记录)导入数据库。rails-import
但是系统会在进程结束之前关闭进程。当我检查数据库时,我看到它会保存数据,直到它关闭进程。
我的代码:
// users is a hash
User.import users, batch_size: 500
我得到的错误:
WARN: /home/rails/.rvm/gems/ruby-2.6.3/gems/activerecord-5.1.7/lib/active_record/connection_adapters/postgresql_adapter.rb:624:in `async_exec'
/home/rails/.rvm/gems/ruby-2.6.3/gems/activerecord-5.1.7/lib/active_record/connection_adapters/postgresql_adapter.rb:624:in `block (2 levels) in exec_no_cache'
/home/rails/.rvm/gems/ruby-2.6.3/gems/activesupport-5.1.7/lib/active_support/dependencies/interlock.rb:46:in `block in permit_concurrent_loads'
/home/rails/.rvm/gems/ruby-2.6.3/gems/activesupport-5.1.7/lib/active_support/concurrency/share_lock.rb:185:in `yield_shares'
/home/rails/.rvm/gems/ruby-2.6.3/gems/activesupport-5.1.7/lib/active_support/dependencies/interlock.rb:45:in `permit_concurrent_loads'
/home/rails/.rvm/gems/ruby-2.6.3/gems/activerecord-5.1.7/lib/active_record/connection_adapters/postgresql_adapter.rb:623:in `block in exec_no_cache'
/home/rails/.rvm/gems/ruby-2.6.3/gems/activerecord-5.1.7/lib/active_record/connection_adapters/abstract_adapter.rb:613:in `block (2 levels) in log'
/home/rails/.rvm/rubies/ruby-2.6.3/lib/ruby/2.6.0/monitor.rb:230:in `mon_synchronize'
/home/rails/.rvm/gems/ruby-2.6.3/gems/activerecord-5.1.7/lib/active_record/connection_adapters/abstract_adapter.rb:612:in `block in log'
/home/rails/.rvm/gems/ruby-2.6.3/gems/activesupport-5.1.7/lib/active_support/notifications/instrumenter.rb:21:in `instrument'
/home/rails/.rvm/gems/ruby-2.6.3/gems/activerecord-5.1.7/lib/active_record/connection_adapters/abstract_adapter.rb:604:in `log'
/home/rails/.rvm/gems/ruby-2.6.3/gems/activerecord-5.1.7/lib/active_record/connection_adapters/postgresql_adapter.rb:622:in `exec_no_cache'
/home/rails/.rvm/gems/ruby-2.6.3/gems/activerecord-5.1.7/lib/active_record/connection_adapters/postgresql_adapter.rb:609:in `execute_and_clear'
/home/rails/.rvm/gems/ruby-2.6.3/gems/activerecord-5.1.7/lib/active_record/connection_adapters/postgresql/database_statements.rb:79:in `exec_query'
/home/rails/.rvm/gems/ruby-2.6.3/gems/activerecord-5.1.7/lib/active_record/connection_adapters/abstract/database_statements.rb:371:in `select'
/home/rails/.rvm/gems/ruby-2.6.3/gems/activerecord-5.1.7/lib/active_record/connection_adapters/abstract/database_statements.rb:42:in `select_all'
/home/rails/.rvm/gems/ruby-2.6.3/gems/activerecord-5.1.7/lib/active_record/connection_adapters/abstract/query_cache.rb:95:in `block in select_all'
/home/rails/.rvm/gems/ruby-2.6.3/gems/activerecord-5.1.7/lib/active_record/connection_adapters/abstract/query_cache.rb:118:in `block in cache_sql'
/home/rails/.rvm/rubies/ruby-2.6.3/lib/ruby/2.6.0/monitor.rb:230:in `mon_synchronize'
/home/rails/.rvm/gems/ruby-2.6.3/gems/activerecord-5.1.7/lib/active_record/connection_adapters/abstract/query_cache.rb:104:in `cache_sql'
/home/rails/.rvm/gems/ruby-2.6.3/gems/activerecord-5.1.7/lib/active_record/connection_adapters/abstract/query_cache.rb:95:in `select_all'
/home/rails/.rvm/gems/ruby-2.6.3/gems/activerecord-5.1.7/lib/active_record/connection_adapters/abstract/database_statements.rb:66:in `select_rows'
/home/rails/.rvm/gems/ruby-2.6.3/gems/activerecord-5.1.7/lib/active_record/connection_adapters/abstract/database_statements.rb:60:in `select_values'
/home/rails/.rvm/gems/ruby-2.6.3/gems/activerecord-import-1.0.2/lib/activerecord-import/adapters/postgresql_adapter.rb:29:in `insert_many'
/home/rails/.rvm/gems/ruby-2.6.3/gems/activerecord-import-1.0.2/lib/activerecord-import/import.rb:807:in `block in import_without_validations_or_callbacks'
/home/rails/.rvm/gems/ruby-2.6.3/gems/activerecord-import-1.0.2/lib/activerecord-import/import.rb:805:in `each'
/home/rails/.rvm/gems/ruby-2.6.3/gems/activerecord-import-1.0.2/lib/activerecord-import/import.rb:805:in `each_slice'
/home/rails/.rvm/gems/ruby-2.6.3/gems/activerecord-import-1.0.2/lib/activerecord-import/import.rb:805:in `import_without_validations_or_callbacks'
/home/rails/.rvm/gems/ruby-2.6.3/gems/activerecord-import-1.0.2/lib/activerecord-import/import.rb:753:in `import_with_validations'
/home/rails/.rvm/gems/ruby-2.6.3/gems/activerecord-import-1.0.2/lib/activerecord-import/import.rb:695:in `import_helper'
/home/rails/.rvm/gems/ruby-2.6.3/gems/activerecord-import-1.0.2/lib/activerecord-import/import.rb:531:in `bulk_import'
我该如何解决这个问题?想法?
解决方案
推荐阅读
- javascript - 使用 ajax 加载动态数据时不显示模态窗口
- delphi - 在 Windows 10 中使用时,Delphi 7 opendialog 的文件名中有垃圾
- javascript - 标题渲染与vue js中的图像一致
- javascript - 从 npm 包运行脚本
- c# - 如何在 c# 中使用 System.IO 从 ZIP 存档中提取文件而不使用该文件夹
- javascript - 我如何制作一个使用 Svelte 双击 contentEditable?
- google-cloud-platform - 谷歌云:有并发的政策变化。请使用指数退避重试整个读取-修改-写入
- c# - MS Test V2 - 失败时的 ClassInitialize 行为
- python - 如何在 Pandas 中作为 SQL 进行内部连接,陷入以下问题
- angular - 使用 PrimeNG 冷冻色谱柱 - 未对齐