Re: ENABLE / DISABLE ALL TRIGGERS IN DATABASE

Поиск
Список
Период
Сортировка
От Teemu Juntunen
Тема Re: ENABLE / DISABLE ALL TRIGGERS IN DATABASE
Дата
Msg-id 9CEBD523D1CD4916AE46EC487323B524@eng02
обсуждение исходный текст
Ответ на ENABLE / DISABLE ALL TRIGGERS IN DATABASE  ("Teemu Juntunen" <teemu.juntunen@e-ngine.fi>)
Список pgsql-general
Hi,
 
I made the function myself. Here is it, if anyone else has a need for this.
 
Teemu
 
/* Enable/disable all the triggers in database */
CREATE OR REPLACE FUNCTION fn_triggerall(DoEnable boolean) RETURNS integer AS
$BODY$
DECLARE
mytables RECORD;
BEGIN
  FOR mytables IN SELECT relname FROM pg_class WHERE reltriggers > 0 AND NOT relname LIKE 'pg_%'
  LOOP
    IF DoEnable THEN
      EXECUTE 'ALTER TABLE ' || mytables.relname || ' ENABLE TRIGGER ALL';
    ELSE
      EXECUTE 'ALTER TABLE ' || mytables.relname || ' DISABLE TRIGGER ALL';
    END IF; 
  END LOOP;
 
  RETURN 1;
 
END;
$BODY$
LANGUAGE 'plpgsql' VOLATILE;
ALTER FUNCTION fn_triggerall(DoEnable boolean) OWNER TO postgres;
COMMENT ON FUNCTION fn_triggerall(DoEnable boolean) IS 'Enable/disable all the triggers in database';
----- Original Message -----
Sent: Wednesday, August 27, 2008 11:24 AM
Subject: [GENERAL] ENABLE / DISABLE ALL TRIGGERS IN DATABASE

Hi,
 
I think this has been asked before, but I can't find the answer from arcive nor google. How to disable/enable all the riggers in a database? I have problem with disabled triggers after database restore. If there is no simple way, could this be made in a function where you find the table names and construct the needed commands in strings. If so, how to get all the tablenames from database?
 
Best regards and thanks!
Teemu Juntunen

В списке pgsql-general по дате отправления:

Предыдущее
От: "Pavel Stehule"
Дата:
Сообщение: Re: update and group by/aggregate
Следующее
От: Terry Lee Tucker
Дата:
Сообщение: Re: ENABLE / DISABLE ALL TRIGGERS IN DATABASE