Parallel PostgreSQL Queries with R
UPDATE target_table SET col1_target = col1_source FROM source_table WHERE id &gt;= 0  AND id &lt; 10;
 UPDATE target_table SET col1_target = col1_source FROM source_table WHERE id &gt;= 10 AND id &lt; 20;;
  UPDATE target_table SET col1_target = col1_source FROM source_table WHERE id &gt;= 20  AND id &lt; 30;


That's insane especially if the query is not CPU bound. Just run one query with one update.

UPDATE targate_table set col1_target = col1_source
FROM source_table
WHERE (id BETWEEN 0 AND 10)
  OR (id BETWEEN 10 AND 20)
  OR (id BETWEEN 20 AND 30);


PostgreSQL doesn't lock the table for row updates. It only locks the rows. There is no reason to break this up.