Re: Rename of triggers for partitioned tables

Alvaro Herrera <alvherre@alvh.no-ip.org>

From: Alvaro Herrera <alvherre@alvh.no-ip.org>
To: Arne Roland <A.Roland@index.de>
Cc: vignesh C <vignesh21@gmail.com>, Zhihong Yu <zyu@yugabyte.com>, Pg Hackers <pgsql-hackers@lists.postgresql.org>
Date: 2021-07-21T22:16:42Z
Lists: pgsql-hackers
... now, thinking about how does pg_dump deal with this, I think this
thread is all wrong, or at least mostly wrong.  We cannot have triggers
in partitions with different names from the triggers in the parents.
pg_dump would only dump the trigger in the parent and totally ignore the
ones in children if they have different names.

So we still need the recursion bits; but

1. if we detect that we're running in a trigger which has tgparentid
set, we have to raise an error,
2. if we are running on a trigger in a partitioned table, then ONLY must
not be specified.

-- 
Álvaro Herrera              Valdivia, Chile  —  https://www.EnterpriseDB.com/
"Puedes vivir sólo una vez, pero si lo haces bien, una vez es suficiente"



Commits

  1. Remove newly added useless assertion check

  2. Make ALTER TRIGGER RENAME consistent for partitioned tables

  3. Fix pg_dump for disabled triggers on partitioned tables

  4. Preserve firing-on state when cloning row triggers to partitions

  5. Fix ALTER TABLE .. ENABLE/DISABLE TRIGGER recursion

  6. Record parents of triggers

  7. Allow FOR EACH ROW triggers on partitioned tables