-----Original Message----- From: pgsql-general-owner@xxxxxxxxxxxxxx [mailto:pgsql-general-owner@xxxxxxxxxxxxxx] On Behalf Of Armand Pirvu (home) Sent: Thursday, September 29, 2016 5:42 PM To: pgsql-general@xxxxxxxxxxxxxx Subject: executing os commands from a function All I know this may sound like heresy since it involves executing an OS command from a function , but here goes After an insert in a table, I want to touch a file I.e After insert into table test values (100) I want in a dir to have file 100 I used plsh extension but I had to use two functions and a trigger, see code below CREATE or REPLACE FUNCTION func2 (var1 text) RETURNS text AS ' #!/bin/bash touch /home/postgres/$1; ' LANGUAGE plsh; commit; CREATE FUNCTION func1() RETURNS trigger AS ' BEGIN perform func2(NEW.col1); RETURN NEW; END; ' LANGUAGE plpgsql; CREATE TRIGGER trigf1 BEFORE INSERT on test FOR EACH ROW EXECUTE PROCEDURE func1(); testdb=# insert into test3 values (777); INSERT 0 1 testdb=# select * from test3; col1 ------ 777 [postgres@edb1 ~]$ ls -ltr -rw------- 1 postgres postgres 0 Sep 29 16:30 777 It works but can I be simpler ? Any other alternatives ? In Ingres for example I can use dbevent and an esqlc app which listens Thank you Armand __________________________________________________________________________________________________________ Similar mechanism exists in Postgresql. Read about LISTEN/NOTIFY in the docs. Regards, Igor Neyman -- Sent via pgsql-general mailing list (pgsql-general@xxxxxxxxxxxxxx) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-general