@@ -96,6 +96,24 @@ CONTEXT: SQL statement "delete from fkeys2 where fkey21 = $1 and fkey22 = $2 "
96
96
update pkeys set pkey1 = 7, pkey2 = '70' where pkey1 = 10 and pkey2 = '1';
97
97
NOTICE: check_pkeys_fkey_cascade: 1 tuple(s) of fkeys are deleted
98
98
NOTICE: check_pkeys_fkey_cascade: 1 tuple(s) of fkeys2 are deleted
99
+ SELECT trigger_name, event_manipulation, event_object_schema, event_object_table,
100
+ action_order, action_condition, action_orientation, action_timing,
101
+ action_reference_old_table, action_reference_new_table
102
+ FROM information_schema.triggers ORDER BY 1, 2;
103
+ trigger_name | event_manipulation | event_object_schema | event_object_table | action_order | action_condition | action_orientation | action_timing | action_reference_old_table | action_reference_new_table
104
+ ----------------------------+--------------------+---------------------+--------------------+--------------+------------------+--------------------+---------------+----------------------------+----------------------------
105
+ check_fkeys2_fkey_restrict | DELETE | public | fkeys2 | 1 | | ROW | BEFORE | |
106
+ check_fkeys2_fkey_restrict | UPDATE | public | fkeys2 | 1 | | ROW | BEFORE | |
107
+ check_fkeys2_pkey_exist | INSERT | public | fkeys2 | 1 | | ROW | BEFORE | |
108
+ check_fkeys2_pkey_exist | UPDATE | public | fkeys2 | 2 | | ROW | BEFORE | |
109
+ check_fkeys_pkey2_exist | INSERT | public | fkeys | 1 | | ROW | BEFORE | |
110
+ check_fkeys_pkey2_exist | UPDATE | public | fkeys | 1 | | ROW | BEFORE | |
111
+ check_fkeys_pkey_exist | INSERT | public | fkeys | 2 | | ROW | BEFORE | |
112
+ check_fkeys_pkey_exist | UPDATE | public | fkeys | 2 | | ROW | BEFORE | |
113
+ check_pkeys_fkey_cascade | DELETE | public | pkeys | 1 | | ROW | BEFORE | |
114
+ check_pkeys_fkey_cascade | UPDATE | public | pkeys | 1 | | ROW | BEFORE | |
115
+ (10 rows)
116
+
99
117
DROP TABLE pkeys;
100
118
DROP TABLE fkeys;
101
119
DROP TABLE fkeys2;
@@ -347,6 +365,24 @@ CREATE TRIGGER insert_when BEFORE INSERT ON main_table
347
365
FOR EACH STATEMENT WHEN (true) EXECUTE PROCEDURE trigger_func('insert_when');
348
366
CREATE TRIGGER delete_when AFTER DELETE ON main_table
349
367
FOR EACH STATEMENT WHEN (true) EXECUTE PROCEDURE trigger_func('delete_when');
368
+ SELECT trigger_name, event_manipulation, event_object_schema, event_object_table,
369
+ action_order, action_condition, action_orientation, action_timing,
370
+ action_reference_old_table, action_reference_new_table
371
+ FROM information_schema.triggers ORDER BY 1, 2;
372
+ trigger_name | event_manipulation | event_object_schema | event_object_table | action_order | action_condition | action_orientation | action_timing | action_reference_old_table | action_reference_new_table
373
+ ----------------------+--------------------+---------------------+--------------------+--------------+--------------------------------+--------------------+---------------+----------------------------+----------------------------
374
+ after_ins_stmt_trig | INSERT | public | main_table | 1 | | STATEMENT | AFTER | |
375
+ after_upd_row_trig | UPDATE | public | main_table | 1 | | ROW | AFTER | |
376
+ after_upd_stmt_trig | UPDATE | public | main_table | 1 | | STATEMENT | AFTER | |
377
+ before_ins_stmt_trig | INSERT | public | main_table | 1 | | STATEMENT | BEFORE | |
378
+ delete_a | DELETE | public | main_table | 1 | (old.a = 123) | ROW | AFTER | |
379
+ delete_when | DELETE | public | main_table | 1 | true | STATEMENT | AFTER | |
380
+ insert_a | INSERT | public | main_table | 1 | (new.a = 123) | ROW | AFTER | |
381
+ insert_when | INSERT | public | main_table | 2 | true | STATEMENT | BEFORE | |
382
+ modified_a | UPDATE | public | main_table | 1 | (old.a <> new.a) | ROW | BEFORE | |
383
+ modified_any | UPDATE | public | main_table | 2 | (old.* IS DISTINCT FROM new.*) | ROW | BEFORE | |
384
+ (10 rows)
385
+
350
386
INSERT INTO main_table (a) VALUES (123), (456);
351
387
NOTICE: trigger_func(before_ins_stmt) called: action = INSERT, when = BEFORE, level = STATEMENT
352
388
NOTICE: trigger_func(insert_when) called: action = INSERT, when = BEFORE, level = STATEMENT
@@ -1991,6 +2027,33 @@ create trigger child3_update_trig
1991
2027
create trigger child3_delete_trig
1992
2028
after delete on child3 referencing old table as old_table
1993
2029
for each statement execute procedure dump_delete();
2030
+ SELECT trigger_name, event_manipulation, event_object_schema, event_object_table,
2031
+ action_order, action_condition, action_orientation, action_timing,
2032
+ action_reference_old_table, action_reference_new_table
2033
+ FROM information_schema.triggers ORDER BY 1, 2;
2034
+ trigger_name | event_manipulation | event_object_schema | event_object_table | action_order | action_condition | action_orientation | action_timing | action_reference_old_table | action_reference_new_table
2035
+ ------------------------+--------------------+---------------------+--------------------+--------------+------------------+--------------------+---------------+----------------------------+----------------------------
2036
+ after_ins_stmt_trig | INSERT | public | main_table | 1 | | STATEMENT | AFTER | |
2037
+ after_upd_a_b_row_trig | UPDATE | public | main_table | 1 | | ROW | AFTER | |
2038
+ after_upd_b_row_trig | UPDATE | public | main_table | 2 | | ROW | AFTER | |
2039
+ after_upd_b_stmt_trig | UPDATE | public | main_table | 1 | | STATEMENT | AFTER | |
2040
+ after_upd_stmt_trig | UPDATE | public | main_table | 2 | | STATEMENT | AFTER | |
2041
+ before_ins_stmt_trig | INSERT | public | main_table | 1 | | STATEMENT | BEFORE | |
2042
+ before_upd_a_stmt_trig | UPDATE | public | main_table | 1 | | STATEMENT | BEFORE | |
2043
+ child1_delete_trig | DELETE | public | child1 | 1 | | STATEMENT | AFTER | old_table |
2044
+ child1_insert_trig | INSERT | public | child1 | 1 | | STATEMENT | AFTER | | new_table
2045
+ child1_update_trig | UPDATE | public | child1 | 1 | | STATEMENT | AFTER | old_table | new_table
2046
+ child2_delete_trig | DELETE | public | child2 | 1 | | STATEMENT | AFTER | old_table |
2047
+ child2_insert_trig | INSERT | public | child2 | 1 | | STATEMENT | AFTER | | new_table
2048
+ child2_update_trig | UPDATE | public | child2 | 1 | | STATEMENT | AFTER | old_table | new_table
2049
+ child3_delete_trig | DELETE | public | child3 | 1 | | STATEMENT | AFTER | old_table |
2050
+ child3_insert_trig | INSERT | public | child3 | 1 | | STATEMENT | AFTER | | new_table
2051
+ child3_update_trig | UPDATE | public | child3 | 1 | | STATEMENT | AFTER | old_table | new_table
2052
+ parent_delete_trig | DELETE | public | parent | 1 | | STATEMENT | AFTER | old_table |
2053
+ parent_insert_trig | INSERT | public | parent | 1 | | STATEMENT | AFTER | | new_table
2054
+ parent_update_trig | UPDATE | public | parent | 1 | | STATEMENT | AFTER | old_table | new_table
2055
+ (19 rows)
2056
+
1994
2057
-- insert directly into children sees respective child-format tuples
1995
2058
insert into child1 values ('AAA', 42);
1996
2059
NOTICE: trigger = child1_insert_trig, new table = (AAA,42)
0 commit comments