You can just insert directly to the helper/audit table, and delete using it, no need for the cursor loop. If you need a handle to go through the records one by one, something else has already gone wrong.
At least in PG, that is explicitly not the case, unless I’m misunderstanding:
Similarly, a PL/pgSQL loop of the form FOR x IN query LOOP … END LOOP will never use a parallel plan, because the parallel query system is unable to verify that the code in the loop is safe to execute while parallel query is active.
You can just insert directly to the helper/audit table, and delete using it, no need for the cursor loop. If you need a handle to go through the records one by one, something else has already gone wrong.
deleted by creator
At least in PG, that is explicitly not the case, unless I’m misunderstanding:
https://www.postgresql.org/docs/current/when-can-parallel-query-be-used.html
At any rate, I feel like it’s questionable design to have a user making row-by-row decisions on hard deletes.
deleted by creator