pg.ddx.io  pgsql-performance@postgresql.org mailing list archive  
help / color / mirror / Atom feed
From: Praveen <praveen.k@renaissance-it.com>
To: pgsql-performance@postgresql.org
Cc: andreas.kretschmer@schollglas.com
Subject: Re: Trigger is not firing immediately
Date: Mon, 14 Jul 2008 12:47:12 +0530
Message-ID: <010901c8e581$a2b85370$274610ac@praveenkm> (raw)


 Hi all,
    Please find the procedure and trigger which took more time when we try 
to update value in table through Procedure.

 CREATE OR REPLACE FUNCTION procname1(args)
  RETURNS void AS
 $BODY$
DECLARE
 {
 ---
 Some code blocks
 ---
 }
 BEGIN

 -->      to here it is executing fastly after reaches this statement it's 
taking  time


 update table1 set col1 = val1 where pk = val2 and col2 = val3;


 -----> HERE table1  IS HAVING THE TRIGGER I GIVEN BELOW THE TRIGGER( 
trigger1)


exception
 WHEN OTHERS
  THEN
   raise notice '''EXCEPTION IN procname1 BLOCK 3 : %''',SQLERRM;
  NULL;
END; $BODY$
 LANGUAGE 'plpgsql' VOLATILE;
 ALTER FUNCTION procname1(args);




 CREATE OR REPLACE FUNCTION trigger1()
  RETURNS "trigger" AS
 $BODY$
 BEGIN

IF (TG_OP='UPDATE') THEN
 IF( some condition )
  THEN
   BEGIN
    INSERT INTO table2(cols)
    VALUES(values);
   IF NOT FOUND THEN
   NULL;
   END IF;
  EXCEPTION
    WHEN OTHERS
  THEN
   NULL;
   END;
  END IF;
END IF;
 RETURN NULL;
 END; $BODY$
  LANGUAGE 'plpgsql' VOLATILE;
ALTER FUNCTION trigger1();


> ----- Original Message ----- 
> From: "A. Kretschmer" <andreas.kretschmer@schollglas.com>
> To: <pgsql-performance@postgresql.org>
> Sent: Monday, July 14, 2008 12:18 PM
> Subject: Re: [PERFORM] Trigger is not firing immediately
>
>
>> am  Mon, dem 14.07.2008, um 12:04:49 +0530 mailte Praveen folgendes:
>>>
>>> Hi All,
>>>     I am having a trigger in table, If I update the the table manually 
>>> trigger
>>> is firing immediately(say 200ms per row), But if I update the table 
>>> through
>>> procedure the trigger is taking time to fire(say 7 to 10 seconds per 
>>> row).
>>>
>>> Please tell me what kind of changes can I make so that  trigger  fire
>>> immediately while updating the table through procedure ?
>>
>> Show us more details like source-code of the procedure, the trigger and
>> a demonstration.
>>
>>
>> Andreas
>> -- 
>> Andreas Kretschmer
>> Kontakt:  Heynitz: 035242/47150,   D1: 0160/7141639 (mehr: -> Header)
>> GnuPG-ID:   0x3FFF606C, privat 0x7F4584DA   http://wwwkeys.de.pgp.net
>>
>> -- 
>> Sent via pgsql-performance mailing list 
>> (pgsql-performance@postgresql.org)
>> To make changes to your subscription:
>> http://www.postgresql.org/mailpref/pgsql-performance
>>
>
>
> 





view thread (6+ messages)  latest in thread

Message-ID: <010901c8e581$a2b85370$274610ac@praveenkm>
Permalink:  ../010901c8e581$a2b85370$274610ac@praveenkm/
Also on:    postgresql.org/message-id/010901c8e581$a2b85370$274610ac@praveenkm

 · 

reply

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Reply to all the recipients using the --to and --cc options:
  reply via email

  To: pgsql-performance@postgresql.org
  Cc: praveen.k@renaissance-it.com, andreas.kretschmer@schollglas.com
  Subject: Re: Trigger is not firing immediately
  In-Reply-To: <010901c8e581$a2b85370$274610ac@praveenkm>

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox