Dear Members! I saw in PGAdmin 3/4 that pg_restore have an option "disable triggers".
Because we need to move some databases in the near future I have to know about the meaning of this option. I wrote a table with an BEFORE UPDATE trigger: create table tr_test ( id integer not null primary key, value1 varchar(100), value2 varchar(100) ); insert into tr_test values(1, 'a', 'a'); insert into tr_test values(2, 'b', 'b'); CREATE OR REPLACE FUNCTION tfbu_tr_test() RETURNS trigger AS $BODY$ begin new.value2 = cast(current_timestamp as varchar(30)); RETURN NEW; end; $BODY$ LANGUAGE plpgsql VOLATILE COST 100; CREATE TRIGGER tbi_tr_test BEFORE INSERT ON tr_test FOR EACH ROW EXECUTE PROCEDURE public.tfbu_tr_test(); insert into tr_test values(3, 'c', 'c'); select * from tr_test; and I tried to dump and restore in PGAdmin IV. The dumped data is same as I read after restore. The pg_restore log shows me that triggers and indexes created after data copy. At this point I confused in "disable triggers" option. When it would be useful? Firstly I supposed that data copy somehow could start the triggers - but how? Which triggers? Or how they fired with this order? Or they remains as disabled AFTER the backup for next, by hand manipulations? So please light my mind a little! Thank you! Regards dd