Unix Technical Forum

can't CREATE TRIGGER

This is a discussion on can't CREATE TRIGGER within the Pgsql General forums, part of the PostgreSQL category; --> Hello I can't create triggers, when I call for example: ficha=> CREATE TRIGGER TRG_persons_id AFTER INSERT ON ficha_ofperson ficha-> ...


Go Back   Unix Technical Forum > Database Server Software > PostgreSQL > Pgsql General

FAQ Members List Calendar Search Today's Posts Mark Forums Read
  #1 (permalink)  
Old 04-09-2008, 01:31 PM
gustavo halperin
 
Posts: n/a
Default can't CREATE TRIGGER

Hello

I can't create triggers, when I call for example:
ficha=> CREATE TRIGGER TRG_persons_id AFTER INSERT ON ficha_ofperson
ficha-> EXECUTE PROCEDURE add_person_id ( 'family_id', 'person_id' );

, the creation never finish and finally, after many minutes, I kill the
creation with Ctrl+c.
I try also a simple trigger creation with a function without arguments
and also the creation never finish.
The functions work OK, I can call theme without problems, see below:
ficha=> select add_person_id (1,7);

I also add a permissions as postgres user's, see below:
ficha=# GRANT TRIGGER ON TABLE ficha_ofperson TO PUBLIC;
GRANT

So.., any Idea what is my error ???

Thank you in advance,
Gustavo

--
||\ // \
| \\ // |
I'm thinking. \ \\ l\\l_ // |
_ _ | \\/ `/ `.| |
/~\\ \ //~\ | Y | | || Y |
| \\ \ // | | \| | |\ / |
[ || || ] \ | o|o | > /
] Y || || Y [ \___\_--_ /_/__/
| \_|l,------.l|_/ | /.-\(____) /--.\
| >' `< | `--(______)----'
\ (/~`--____--'~\) / U// U / \
`-_>-__________-<_-' / \ / /|
/(_#(__)#_)\ ( .) / / ]
\___/__\___/ `.`' / [
/__`--'__\ |`-' |
/\(__,>-~~ __) | |__
/\//\\( `--~~ ) _l |--:.
'\/ <^\ /^> | ` ( < \\
_\ >-__-< /_ ,-\ ,-~~->. \ `:.___,/He
(___\ /___) (____/ (____) `---'


---------------------------(end of broadcast)---------------------------
TIP 3: Have you checked our extensive FAQ?

http://www.postgresql.org/docs/faq

Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
  #2 (permalink)  
Old 04-09-2008, 01:31 PM
Stephan Szabo
 
Posts: n/a
Default Re: can't CREATE TRIGGER


On Mon, 22 Jan 2007, gustavo halperin wrote:

> I can't create triggers, when I call for example:
> ficha=> CREATE TRIGGER TRG_persons_id AFTER INSERT ON ficha_ofperson
> ficha-> EXECUTE PROCEDURE add_person_id ( 'family_id', 'person_id' );
>
> , the creation never finish and finally, after many minutes, I kill the
> creation with Ctrl+c.
> I try also a simple trigger creation with a function without arguments
> and also the creation never finish.


One possibility is that some transaction has a lock on the table which
would block the create trigger, do you have any long running transactions
or some kind of transaction pooling that might be keeping the table locked
for a long time? Can you create simple triggers on another table?

---------------------------(end of broadcast)---------------------------
TIP 4: Have you searched our list archives?

http://archives.postgresql.org/

Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
  #3 (permalink)  
Old 04-09-2008, 01:31 PM
Jaime Casanova
 
Posts: n/a
Default Re: can't CREATE TRIGGER

On 1/21/07, gustavo halperin <ggh.develop@gmail.com> wrote:
> Hello
>
> I can't create triggers, when I call for example:
> ficha=> CREATE TRIGGER TRG_persons_id AFTER INSERT ON ficha_ofperson
> ficha-> EXECUTE PROCEDURE add_person_id ( 'family_id', 'person_id' );
>
> , the creation never finish and finally, after many minutes, I kill the
> creation with Ctrl+c.


perhaps the table is locked, view in pg_locks...

--
regards,
Jaime Casanova

"Programming today is a race between software engineers striving to
build bigger and better idiot-proof programs and the universe trying
to produce bigger and better idiots.
So far, the universe is winning."
Richard Cook

---------------------------(end of broadcast)---------------------------
TIP 4: Have you searched our list archives?

http://archives.postgresql.org/

Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
  #4 (permalink)  
Old 04-09-2008, 01:31 PM
Michael Fuhr
 
Posts: n/a
Default Re: can't CREATE TRIGGER

On Mon, Jan 22, 2007 at 12:21:48AM +0200, gustavo halperin wrote:
> I can't create triggers, when I call for example:
> ficha=> CREATE TRIGGER TRG_persons_id AFTER INSERT ON ficha_ofperson
> ficha-> EXECUTE PROCEDURE add_person_id ( 'family_id', 'person_id' );
>
> , the creation never finish and finally, after many minutes, I kill the
> creation with Ctrl+c.


You probably have an open transaction with a lock on ficha_ofperson,
so the CREATE TRIGGER statement blocks until that lock is released.
Query pg_locks to see what transaction that is. Make sure your
applications don't keep transactions open longer than necessary.

--
Michael Fuhr

---------------------------(end of broadcast)---------------------------
TIP 6: explain analyze is your friend

Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
Reply


Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On
Forum Jump


All times are GMT. The time now is 09:19 AM.


Powered by vBulletin® Version 3.6.5
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
SEO by vBSEO 3.2.0
www.UnixAdminTalk.com