【发布时间】:2013-10-28 10:19:02
【问题描述】:
我只是想知道在 Rails 中创建并发索引时的正确行为是什么。
我在我的迁移文件中使用它:
disable_ddl_transaction!
def change
add_index :table_name, :field_name, algorithm: :concurrently
end
这应该创建一个 postgres 并发索引。
我的问题是:在运行rake db:migrate 时等待创建索引是正确的行为吗?我的意思是,迁移将等到创建索引?或者它应该结束并委派 postgres 这个责任?
附:这是一个非常大的索引。
【问题讨论】:
-
您是否为此使用了特殊的宝石?
-
没有。这是 Rails 4 @beerlington 内置的。尽管如此,我已经测试了对我正在为其创建索引的表的访问。我可以在任务运行时读写(大约需要 2 分钟)。这告诉我并发创建工作正常,但我只是想确定一下。
标签: ruby-on-rails postgresql concurrency rails-migrations database-indexes