Re: [GENERAL] efficient trigger function selection?

2012-04-14 Thread Jasen Betts
On 2012-04-11, Kenneth Tilton ktil...@mcna.net wrote:

 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.

partition your large table on on predicate 
if priactical do a 1:1 partitioning. that way only the apropriate
triggers will be tested, and furthermore most queries will be
optimised by constraint exclusion. And your database will magically 
transform from something approximating EAV to something close to 4NF.

-- 
⚂⚃ 100% natural


-- 
Sent via pgsql-general mailing list (pgsql-general@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general


Re: [GENERAL] efficient trigger function selection?

2012-04-11 Thread Kenneth Tilton
On Tue, Apr 10, 2012 at 4:59 PM, Jeff Davis pg...@j-davis.com wrote:

 On 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.

 I recommend measuring the overhead with some bogus no-op triggers; my
 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


[GENERAL] efficient trigger function selection?

2012-04-10 Thread Kenneth Tilton
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.

Thx, ken


Re: [GENERAL] efficient trigger function selection?

2012-04-10 Thread Jeff Davis
On 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.

I recommend measuring the overhead with some bogus no-op triggers; my
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?

Regards,
Jeff Davis



-- 
Sent via pgsql-general mailing list (pgsql-general@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general