私は node.js、node-postgres、および Postgres を使用して、テーブルから大量のデータを処理するスクリプトをまとめています。私もクラスターモジュールを使用しているので、単一のスレッドにこだわることはありません。
クラスター内の子プロセスの 1 つが別のプロセスを複製することは望ましくありません。別のプロセスまたはクエリが同じ行を選択する可能性なしに、選択クエリから受け取ったばかりの行を更新するにはどうすればよいですか?
SQL クエリは次のようになると想定しています。
BEGIN;
SELECT * FROM mytable WHERE ... LIMIT 100;
UPDATE mytable SET status = 'processing' WHERE ...;
COMMIT;
Postgres と SQL の知識が乏しいことをお詫びします。単純な PHP Web アプリで一度使用したことがありますが、node.js で使用したことはありません。