Restore - disable triggers - when they fired? - Mailing list pgsql-general

From Durumdara
Subject Restore - disable triggers - when they fired?
Date
Msg-id CAEcMXhnt9P=4E7syOurQPgZgnH9XKUU+EoWkx+Vf0W_Q=7-W+g@mail.gmail.com
Whole thread Raw
Responses Re: Restore - disable triggers - when they fired?  (Adrian Klaver <adrian.klaver@aklaver.com>)
List pgsql-general
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

pgsql-general by date:

Previous
From: Jimmy Augustine
Date:
Subject: Re: PostgreSQL 9.6 Temporary files
Next
From: Adrian Klaver
Date:
Subject: Re: Restore - disable triggers - when they fired?