2011-12-17 15 views
0

私の遅延ジョブは、アプリケーションのデータベース内の大部分のテーブルをわずかに編集したバージョンをエクスポートすることと関連していますが、その間に現在のデータが編集されていないことが重要です。遅延ジョブを実行中にデータベース全体をロックする

この遅延ジョブを実行中にデータベース全体をロックすることはできますか?

詳細情報:

は、エクスポートされるデータベースは、より具体的には、PostgreSQLの、HerokuののPostgreSQLデータベースです。

フローは(すべては以下のコードによって自動的に行われるべきである)のようなものです:

  1. サイトがメンテナンスモードに置かれる、
  2. 凍結エクスポートするときに
  3. 、その後、データベースをエクスポート完了したら、サイトを再度有効にしてください
+0

どのような種類のデータベースを使用していますか? MySQL、ポストグル、または..? –

答えて

0

あなたの質問にはたくさんの情報はありませんので、できる限り私はあなたにお答えします。

1)データベースの種類とモデルは何ですか? MS AccessやInformix SEのようなスタンドアロンDBですか?

2)スタンドアロンエンジンでない場合、このデータベースはレプリケーションをサポートしていますか。私はMS SQL Serverで多くのことをしていましたが、データベースが稼働中で編集中であっても、レプリケーションに影響がありました。それは、編集されたデータが複製されたかどうかということです。この場合は、ドキュメントを参照してください。現在のデータベースを保持するためにレプリケーションを使用するオプションですか?

3)これはどのようなタスクですか?それはメンテナンスのように聞こえる。 Informix SEデータベースは、インポートまたはエクスポート時にロックされます。プロダクションサーバーでは、ローカルサーバーアプリケーションがロックされたDBにアクセスしようとしていないこと、そしてdbがロックされている間に外部支払いWebサイトが干渉できないことを確認するのが私の仕事です。

4)これが保守モードではない本番サイトの場合は、おそらくデータベース全体をロックしないことをお勧めします。

ご質問に直接お答えして申し訳ありませんが、DBの一部のモデルでRuby DBインターフェイスから実行できるかどうかを確認するために必要な情報が必要です。

+0

こんにちは、ありがとう、これに返信してください。上記の情報を追加しました。はい、これは保守作業です。上記のフローも参照してください。 – jaycode

+0

メンテナンスの場合は、DBをロックします。メンテナンスによって、私はDBにアクセスする他の何もないと仮定しています。実際のDBをロックしないで、PostgreSQLがそれをサポートしていなくても、DBへのアクセスをブロックすることによって、データベースをロックする必要があります。私はPostgreSQLの専門家ではありません。私はMySQLを使用します。 – octopusgrabbus

関連する問題