CREATE OR REPLACE FUNCTION is_Trigger_Enabled(tg_name "text") RETURNS boolean AS $BODY$ DECLARE v_isEnabled boolean := false; BEGIN SELECT tgenabled INTO v_isEnabled FROM pg_trigger WHERE UPPER(tgname) = UPPER(tg_name); RETURN v_isEnabled; EXCEPTION WHEN OTHERS THEN SELECT (UPPER(tgenabled)<>'D') INTO v_isEnabled FROM pg_trigger WHERE tgname = tg_name; RETURN v_isEnabled; END; $BODY$ LANGUAGE 'plpgsql' VOLATILE; CREATE OR REPLACE VIEW USER_OBJECTS (TABLE_NAME, OBJECT_NAME, OBJECT_ID, OBJECT_TYPE, STATUS) AS SELECT UPPER(PG_CLASS.RELNAME), UPPER(PG_TRIGGER.TGNAME), PG_TRIGGER.TGFOID, TO_CHAR('TRIGGER'), CASE is_Trigger_Enabled(PG_TRIGGER.TGNAME) WHEN TRUE THEN TO_CHAR('VALID') ELSE TO_CHAR('INVALID') END FROM PG_TRIGGER, PG_NAMESPACE, PG_CLASS WHERE PG_TRIGGER.TGRELID = PG_CLASS.OID AND PG_TRIGGER.TGISCONSTRAINT = FALSE AND PG_CLASS.RELNAMESPACE = PG_NAMESPACE.OID AND PG_NAMESPACE.NSPNAME = CURRENT_SCHEMA();