hi LelandJ. i've solved the problem. all i need to do is to put the EXECUTE command in front of the create user ... statement. it's diff from insertion and updates. probably bcoz create is a ddl whereas insert and update are dml. that's y the EXECUTE is needed.
and i also found out that postgresql functions can't parse arguments. is it true? coz if i try to create one function that parse arguments, i can't create a trigger for it. the error i get is "function .... doesn't exist". but if i create a function that doesn't parse arguments and returns OPAQUE, i'm able to create the trigger and fire my trigger successfully. hope to get some opinion n advice regarding this function matter.