Ruby on rails 3.1 运行延迟作业时锁定整个数据库

Ruby on rails 3.1 运行延迟作业时锁定整个数据库,ruby-on-rails-3.1,delayed-job,Ruby On Rails 3.1,Delayed Job,我的延迟工作与导出应用程序数据库中大多数表的略经编辑的版本有关,在执行此操作时,当前数据不被编辑是至关重要的 运行此延迟作业时是否可以锁定整个数据库 更多信息: 要导出的数据库位于PostgreSQL中,更具体地说,是Heroku的PostgreSQL数据库 该流程类似于(以下所有操作都应该由代码自动完成): 现场将处于维护模式 冻结然后导出数据库,然后 导出完成后,重新激活站点 鉴于你的问题没有太多信息,我将尽我所能回答你 1) 什么是数据库类型和模型?它是像MS Access或Informi

我的延迟工作与导出应用程序数据库中大多数表的略经编辑的版本有关,在执行此操作时,当前数据不被编辑是至关重要的

运行此延迟作业时是否可以锁定整个数据库

更多信息:

要导出的数据库位于PostgreSQL中,更具体地说,是Heroku的PostgreSQL数据库

该流程类似于(以下所有操作都应该由代码自动完成):

  • 现场将处于维护模式
  • 冻结然后导出数据库,然后
  • 导出完成后,重新激活站点

  • 鉴于你的问题没有太多信息,我将尽我所能回答你

    1) 什么是数据库类型和模型?它是像MS Access或Informix SE那样的独立数据库吗

    2) 如果不是独立引擎,则此数据库是否支持复制。我过去经常使用MS SQL Server,当数据库处于活动状态并正在编辑时,复制会产生影响。这意味着编辑后的数据是否被复制。在这种情况下,请查阅文档。是否可以使用复制来保留当前数据库

    3) 这是什么样的任务?听起来像是维修。我们的Informix SE数据库在导入或导出时会锁定。在生产服务器上,我的工作是确保没有本地服务器应用程序试图访问锁定的数据库,并且我们的外部支付网站在数据库锁定时不会干扰

    4) 如果这是一个不处于维护模式的生产站点,那么我建议您可能不希望锁定整个数据库


    很抱歉没有直接回答您的问题,但是需要更多的信息,比如您是否在询问是否可以在某些型号的数据库上通过Ruby DB接口实现这一点。

    您使用的是什么类型的数据库?MySQL、postgres或..?您好,谢谢您的回复。我在上面添加了更多信息。是的,这是一项维护任务,请参见上面的流程。如果这是维护任务,请锁定数据库。通过维护,我假设没有其他东西正在访问数据库。如果PostgreSQL不支持,您可能必须通过不锁定实际数据库来锁定数据库,而是通过阻止对数据库的访问来锁定数据库。我不是PostgreSQL专家。我使用MySQL。