From: | Corey Huinker <corey(dot)huinker(at)gmail(dot)com> |
---|---|
To: | Thomas Munro <thomas(dot)munro(at)gmail(dot)com> |
Cc: | Antonin Houska <ah(at)cybertec(dot)at>, emre(at)hasegeli(dot)com, Adam Brusselback <adambrusselback(at)gmail(dot)com>, Pavel Stehule <pavel(dot)stehule(at)gmail(dot)com>, Alvaro Herrera <alvherre(at)2ndquadrant(dot)com>, PostgreSQL Hackers <pgsql-hackers(at)postgresql(dot)org> |
Subject: | Re: Referential Integrity Checks with Statement-level Triggers |
Date: | 2019-08-01 19:28:51 |
Message-ID: | CADkLM=eUCHRNYmohw+JyS2Lb_LSGcc=LSmZRzcY9o0Xy24hFjQ@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | 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.
From | Date | Subject | |
---|---|---|---|
Next Message | Peter Geoghegan | 2019-08-01 20:36:48 | The unused_oids script should have a reminder to use the 8000-8999 OID range |
Previous Message | Tom Lane | 2019-08-01 19:28:43 | Re: Avoid full GIN index scan when possible |