ERPシステムに注文を提供するPostgreSQL9.2.2データベースがあります。データベーステーブルには、他のレコードの中で顧客が追加されたかどうかを示すブール列が含まれています。私が使用するコードは、データベースから行を抽出し、それらを一度に1つずつERPシステムに送信します(シングルスレッド)。私のコードはこの点で完全に機能します。ただし、過去1年間で、ボリュームはマルチスレッドソリューションを必要とするほど大きくなりました。
add_customer列は、顧客が正常に追加された後にのみ更新されるため、MVCCモードが機能するとは思いません。デフォルトのMVCCモードでは、同じ行が同時に処理され、Webサービス呼び出しが重複する可能性があります。私が避けたいのは、ERPシステムへの重複したWebサービス呼び出しです。これはかなり重い可能性があるためですが、確かに私はMVCCやPostgreSQLが提供する他のモードの専門家ではありません。
私の質問は次のとおりです。1つのselectステートメントで返された1つまたは一連の行が、別々のスレッドでデータベースへの他のクエリから除外されるようにするにはどうすればよいですか?