Everybody thanks for the suggestions!
We're going to try using "SELECT 1 FROM table FOR KEY SHARE" for each of
the tables, which are referenced by results, before running the big
query. That should be up to a million of rows in total. It will probably
not cover the case when a record is INSERT'ed and then DELETE'd after
the calculation has begun, but such cases should be even more rare than
the DELETE's we're currently facing.
If this will not help, we'll also try to use triggers, as mentioned
here: https://stackoverflow.com/a/39828119
Regards,
Vitaliy