From: Kevin Grittner Date: Thu, 2 Jun 2011 18:19:15 +0000 (-0500) Subject: Script to add triggers based on metadata. X-Git-Url: http://git.postgresql.org/gitweb/static/tut_user.html?a=commitdiff_plain;h=75d190d8262a0aec44cb5f00ef7b872c915d22b7;p=users%2Fkgrittn%2Fpostgres.git Script to add triggers based on metadata. --- diff --git a/contrib/dbtran/bind-triggers.sql b/contrib/dbtran/bind-triggers.sql new file mode 100644 index 0000000000..d7d660a5f5 --- /dev/null +++ b/contrib/dbtran/bind-triggers.sql @@ -0,0 +1,29 @@ +DO $$DECLARE r text; +BEGIN + FOR r IN + SELECT +'CREATE TRIGGER "' || r.name || '_640_dbtran_trig" + AFTER INSERT OR UPDATE OR DELETE ON "' || r.name || '" + FOR EACH ROW EXECUTE PROCEDURE dbtran.capture_replication_data();' as stmt + FROM "Relation" r + JOIN pg_class c on (c.relname = r.name) + WHERE r."isExportEnabled" + AND c.relkind = 'r' + LOOP + EXECUTE r; + END LOOP; +END$$; + + +DO $$DECLARE r text; +BEGIN + FOR r IN + SELECT 'DROP TRIGGER "' || r.name || '_640_dbtran_trig" ON "' || r.name || '";' + FROM "Relation" r + JOIN pg_class c on (c.relname = r.name) + WHERE r."isExportEnabled" + AND c.relkind = 'r' + LOOP + EXECUTE r; + END LOOP; +END$$;