Re: Referential Integrity Checks with Statement-level Triggers - Mailing list pgsql-hackers

From Corey Huinker
Subject Re: Referential Integrity Checks with Statement-level Triggers
Date
Msg-id CADkLM=eUCHRNYmohw+JyS2Lb_LSGcc=LSmZRzcY9o0Xy24hFjQ@mail.gmail.com
Whole thread Raw
In response to Re: Referential Integrity Checks with Statement-level Triggers  (Thomas Munro <thomas.munro@gmail.com>)
List pgsql-hackers

> The people who expressed opinions on nuking triggers from orbit (it's the only way to be sure) have yet to offer up any guidance on how to proceed from here, and I suspect it's because they're all very busy getting things ready for v12. I definitely have an interest in working on this for 13, but I don't feel good about striking out on my own without their input.

Very interesting thread, but the current patch has been through two
CFs without comments or new patches, so I'm going to mark it "Returned
with feedback".  I hope all this discussion will trigger more research
in this space.

I've noticed that the zedstore efforts ran into the same problem that refactoring triggers has: we cannot determine which columns in a table will be affected by a trigger. so we have to assume that all of them will be. This causes a lot of unnecessary overhead with triggers. If we had a compilation step for triggers (which, ultimately means a compilation step for procedures) which kept a dependency tree of which tables/columns were touched, then we would have that insight. it's true that one dynamic statement or SELECT * would force us right back to keep-everything, but if procedures which did not do such things had performance benefits, that would be an incentive to code them more fastidiously.



 

pgsql-hackers by date:

Previous
From: Tom Lane
Date:
Subject: Re: Avoid full GIN index scan when possible
Next
From: Peter Geoghegan
Date:
Subject: The unused_oids script should have a reminder to use the 8000-8999OID range