On 04/26/2018 09:13 AM, Vitaliy Garnashevich wrote:
Hi,

We're trying to populate a table with aggregated data from other tables. For that we're running a huge INSERT+SELECT query which joins several tables, aggregates values, and then inserts the results into another table. The problem we're facing is that while the query is running , some records in tables referenced by the results table may be deleted, which causes the following error:

ERROR:  insert or update on table "..." violates foreign key constraint "..."
DETAIL:  Key (...)=(...) is not present in table "...".


SELECT .. FOR UPDATE?:

https://www.postgresql.org/docs/10/static/sql-select.html#SQL-FOR-UPDATE-SHARE

https://www.postgresql.org/docs/10/static/explicit-locking.html#LOCKING-ROWS

Who do we make sure that such aggregating query would not fail?

Regards,
Vitaliy





--
Adrian Klaver
adrian.kla...@aklaver.com

Reply via email to