Re: ATTACH/DETACH partitions and locking

Pavel Luzanov <[email protected]>
Newsgroups gmane.comp.db.postgresql.devel.documentation
Message-ID <[email protected]>
On 13.06.2019 23:07, Alvaro Herrera wrote:
> On 2019-Jun-13, Pavel Luzanov wrote:
>
>> Hello,
>>
>> According to patch[1] and after playing with v12 beta1 I think that this
>> item can be dropped from "5.11.3. Implementation Using Inheritance" section
>> of v12 docs:
>>
>> "Some operations require a stronger lock when using declarative partitioning
>> than when using table inheritance. For example, adding or removing a
>> partition to or 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."
> Hmm ... while you're correct that ALTER TABLE ATTACH PARTITION no longer
> uses AccessExclusive lock, ALTER TABLE DETACH PARTITION continues to.
> So we could remove the "adding to" bit of the paragraph, but not remove
> it completely.
>
> https://www.postgresql.org/message-id/CA%2BTgmoY13KQZF-%3DHNTrt9UYWYx3_oYOQpu9ioNT49jGgiDpUEA%40mail.gmail.com
You are right, I missed the point with DETACH.

Does it make sense to change this way?
"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."

-----
Pavel Luzanov
Postgres Professional: http://www.postgrespro.com
The Russian Postgres Company
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.