On Tue, Apr 10, 2012 at 4:59 PM, Jeff Davis <pgsql@xxxxxxxxxxx> wrote:
I recommend measuring the overhead with some bogus no-op triggers; myOn Tue, 2012-04-10 at 16:07 -0400, Kenneth Tilton wrote:
> Suppose I have an RDF-style table (with columns for subject,
> predicate, various object types, and graph) and want to have dozens or
> even hundreds of trigger functions defined conditionally on the
> predicate, ie "when predicate = '<your predicate here>'".
>
>
> My guess is Postgres is quite efficient at determining which if any
> trigger functions to call, but I thought I'd ask.
guess is that it will be significant but maybe not too bad depending on
what the rest of the application is doing.
What are you trying to accomplish with so many triggers?
We are simulating a graph DB in Postgres and would have one RDF-like table with columns as described above. If we want a trigger on what is conventionally a column for "color", with pseudo-RDF we would have:
create trigger ... when predicate = 'color'
Since the graph data model reduces everything into so many RDF "triples", almost every trigger function in the application would be "when predicate = X".
well, let's see how many we really get before we panic. :)
Thx for the input.
-ken