Heikki Linnakangas <heikki@enterprisedb.com> writes:
> Rick Gigger wrote:
>> Doesn't DROP TRIGGER require the name of the trigger? He says they are
>> unnamed. How then does he drop them?
> They're not really unnamed. pg_dump just replaces the real name with
> "<unnamed>".
And \d will show the real names of the triggers, so it's not really
that hard to drop them:
u=# \d t1 Table "public.t1"Column | Type | Modifiers
--------+---------+-----------f1 | integer | not null
Indexes: "t1_pkey" PRIMARY KEY, btree (f1)
Triggers: "RI_ConstraintTrigger_229629" AFTER DELETE ON t1 FROM t2 NOT DEFERRABLE INITIALLY IMMEDIATE FOR EACH ROW
EXECUTEPROCEDURE "RI_FKey_noaction_del"('<unnamed>', 't2', 't1', 'UNSPECIFIED', 'f2', 'f1')
"RI_ConstraintTrigger_229630"AFTER UPDATE ON t1 FROM t2 NOT DEFERRABLE INITIALLY IMMEDIATE FOR EACH ROW EXECUTE
PROCEDURE"RI_FKey_noaction_upd"('<unnamed>', 't2', 't1', 'UNSPECIFIED', 'f2', 'f1')
u=# drop trigger "RI_ConstraintTrigger_229629" on t1;
DROP TRIGGER
I do recall newbies forgetting to double-quote the mixed-case trigger
names when this came up in times past, though.
regards, tom lane