On 09/10/2016 03:59 AM, Kiran wrote:
Hi, *Problem background :* I have a *function in the DB* as follows CREATE FUNCTION question_tsv_trigger() RETURNS trigger AS $BODY$ begin New.weighted_tsv := to_tsvector('swedish',coalesce(New.body->>'qtext','')::text); RAISE NOTICE 'TRIGER called on %', TG_TABLE_NAME; return New; end $BODY$ LANGUAGE plpgsql VOLATILE COST 100; **Trigger in the DB:** CREATE TRIGGER insert_upd_question_tsvector BEFORE INSERT OR UPDATE ON myschema.cf_question FOR EACH ROW EXECUTE PROCEDURE question_tsv_trigger(); If I insert a record from my application using following code : db.myschema.cf_question.insert({ cf_question_type_id:request.payload.type_id, cf_question_category_id:request.payload.cat_id, lang:request.payload.lang, body:request.payload.body } The above app code inserts the record in the DB, but the respective trigger in the database is not triggered hence the "weighted_tsv" columns is empty for this record. But if I insert a record from the postgres psql, it will insert and the respective trigger is working perfectly. What could be the problem ? Why trigger is not working if I insert from the application ? Am I doing anything wrong ? Any help would be really really appreciated.
If you have not, turn on log_statement: https://www.postgresql.org/docs/9.5/static/runtime-config-logging.html#RUNTIME-CONFIG-LOGGING-WHAT Then check your log to see what the application is sending to the database.
Thanks Kiran
-- Adrian Klaver adrian.klaver@xxxxxxxxxxx -- Sent via pgsql-general mailing list (pgsql-general@xxxxxxxxxxxxxx) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-general