From: Álvaro Herrera <alvherre@alvh.no-ip.org>
To: Pavel Luzanov <p.luzanov@postgrespro.ru>
Cc: Amit Langote <amitlangote09@gmail.com>
Cc: Justin Pryzby <pryzby@telsasoft.com>
Cc: Tom Lane <tgl@sss.pgh.pa.us>
Cc: pgsql-hackers@lists.postgresql.org <pgsql-hackers@lists.postgresql.org>
Subject: Re: ALTER TABLE .. DETACH PARTITION CONCURRENTLY
Date: Thu, 6 May 2021 13:32:08 -0400
Message-ID: <20210506173208.GA29458@alvherre.pgsql> (raw)
In-Reply-To: <0688e7c3-8bc8-a3e4-9d8e-3bcbbf3e1f4d@postgrespro.ru>
On 2021-May-05, Pavel Luzanov wrote:
> Hello,
>
> I found this in the documentation, section '5.11.3. Partitioning Using
> Inheritance'[1]:
> "Some operations require a stronger lock when using declarative partitioning
> than when using table inheritance. For example, removing a partition from a
> partitioned table requires taking an ACCESS EXCLUSIVE lock on the parent
> table, whereas a SHARE UPDATE EXCLUSIVE lock is enough in the case of
> regular inheritance."
>
> This point is no longer valid with some restrictions. If the table has a
> default partition, then removing a partition still requires taking an ACCESS
> EXCLUSIVE lock.
Hmm, are there any other operations for which the partitioning command
takes a strong lock than the legacy inheritance corresponding command?
If there aren't any, then it's okay to delete this paragraph as in the
proposed patch. But if there are any, then I think we should change the
example to mention that other operation. I'm not sure what's a good way
to verify that, though.
Also, it remains true that without CONCURRENTLY the DETACH operation
takes AEL. I'm not sure it's worth pointing this out in this paragraph.
> May be make sense to add some details about DETACH CONCURRENTLY to the
> section '5.11.2.2. Partition Maintenance' and completely remove this point?
Maybe you're right, though.
--
Álvaro Herrera 39°49'30"S 73°17'W
"Las mujeres son como hondas: mientras más resistencia tienen,
más lejos puedes llegar con ellas" (Jonas Nightingale, Leap of Faith)
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: alvherre@alvh.no-ip.org, p.luzanov@postgrespro.ru, amitlangote09@gmail.com, pryzby@telsasoft.com, tgl@sss.pgh.pa.us, pgsql-hackers@lists.postgresql.org
Subject: Re: ALTER TABLE .. DETACH PARTITION CONCURRENTLY
In-Reply-To: <20210506173208.GA29458@alvherre.pgsql>
* 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