I'm attempting to drop a trigger that may or may not exist, so am using the "IF EXISTS" clause. Â This works fine for tables, views, functions, domains, and types, but for some reason seems to be ignored for triggers. Â I'd expect to see more about this online if it were a bug, so I'm thinking I may be missing something obvious.
Example: DROP TRIGGER IF EXISTS udf_customer_update_trigger ON customer;
Expected Output: NOTICE:Â Â trigger "udf_customer_update_trigger" does not exist, skipping
Observed Output: ERROR:Â Â relation "udf_customer_update_trigger" does not exist
This has worked the way you're imagining since (I think) 9.4. Before that the "if exists" semantics only applied to the trigger itself, not to the relation.
Alright now I am confused. Other then changing table to table_name I am not seeing where the below changed. In both cases a NOTICE is supposed to be raised.