pg.ddx.io  pgsql-hackers@postgresql.org mailing list archive  
help / color / mirror / Atom feed
From: Arne Roland <A.Roland@index.de>
To: Alvaro Herrera <alvherre@alvh.no-ip.org>
Cc: vignesh C <vignesh21@gmail.com>
Cc: Zhihong Yu <zyu@yugabyte.com>
Cc: Pg Hackers <pgsql-hackers@lists.postgresql.org>
Subject: Re: Rename of triggers for partitioned tables
Date: Thu, 22 Jul 2021 15:06:32 +0000
Message-ID: <724b9f97a96c470aab3bfee502366b7c@index.de> (raw)
In-Reply-To: <202107212216.kj4i5us2i33k@alvherre.pgsql>
References: <202107202013.xgao3c2m6nht@alvherre.pgsql>
	<202107212216.kj4i5us2i33k@alvherre.pgsql>


Hi,

looking at the patch, I realized the renametrig_partition could  use an index leading with tgparentid, without the need to traverse the child tables. Since we still need to lock them, there is likely no practical performance gain. But I am surprised there is no unique index on (tgparentid, tgrelid), which sounds like a decent sanity check to have anyways.

________________________________
From: Alvaro Herrera <alvherre@alvh.no-ip.org>
Sent: Thursday, July 22, 2021 00:16
To: Arne Roland
Cc: vignesh C; Zhihong Yu; Pg Hackers
Subject: Re: Rename of triggers for partitioned tables

... 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.

That makes things simpler. The reasoning behind the ONLY variant was not to break things that worked in the past. If it never worked in the past, there is no reason to offer backwards compatibility.

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.

I think that would make the whole idea of allowing ONLY obsolete altogether anyways. I'd vote to simply scratch that syntax. I will work on updating your version 9 of this patch accordingly.

I think we should do something about pg_upgrade. The inconsistency is obviously broken. I'd like it to make sure every partitioned trigger is named correctly, simply taking the name of the parent. Simplifying the state our database can have, might help us to avoid future headaches.

Regards
Arne

view thread (42+ messages)  latest in thread

Message-ID: <724b9f97a96c470aab3bfee502366b7c@index.de>
Permalink:  ../724b9f97a96c470aab3bfee502366b7c@index.de/
Also on:    postgresql.org/message-id/724b9f97a96c470aab3bfee502366b7c@index.de

 · 

reply

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Reply to all the recipients using the --to and --cc options:
  reply via email

  To: pgsql-hackers@postgresql.org
  Cc: A.Roland@index.de, alvherre@alvh.no-ip.org, vignesh21@gmail.com, zyu@yugabyte.com, pgsql-hackers@lists.postgresql.org
  Subject: Re: Rename of triggers for partitioned tables
  In-Reply-To: <724b9f97a96c470aab3bfee502366b7c@index.de>

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox