Re: Postgres 10 - Attach-Detach Partition in Declarative vs Inheritance

From: Laurenz Albe <laurenz(dot)albe(at)cybertec(dot)at>
To: Gaurav Anand <gaurav(dot)anand(at)saama(dot)com>, pgsql-admin <pgsql-admin(at)lists(dot)postgresql(dot)org>, pgsql-admin(at)postgresql(dot)org
Subject: Re: Postgres 10 - Attach-Detach Partition in Declarative vs Inheritance
Date: 2022-02-21 14:44:36
Message-ID: be15af5ab43412fa762f61f3e0173e1a92ffab24.camel@cybertec.at
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-admin

On Mon, 2022-02-21 at 19:34 +0530, Gaurav Anand wrote:
> I need your kind recommendation
> We have Postgres 10 and have partition tables currently with Declarative partitions.
> When we refresh the data and detach and attach the partition, during this time our
> Application which has Sql query on these tables takes Lock and sometimes a deadlock situation also arises.
>  
> To overcome the deadlock we used, advisory lock however the application still keeps waiting for lock to release.
>
> Please suggest the best way - 
> 1. Will Inheritance partition (in PG10) help avoid the explicit locks.
> 2. Is upgrading the only choice? if so which version of PG.
> 3. Please suggest any other work around.

You are confused: "inheritance partitioning" is the bad old way of doing it
that was your only option before v10. You don't want that.

But there have been substantial improvements since v10:

- ALTER TABLE ... ATTACH PARTITION now only takes a SHARE UPDATE EXCLUSIVE
lock on the partitioned table (that used to be ACCESS EXCLUSIVE)

- there is ALTER TABLE ... DETACH PARTITION CONCURRENTLY that requires
only a SHARE UPDATE EXCLUSIVE lock on the partitioned table

Yours,
Laurenz Albe
--
Cybertec | https://www.cybertec-postgresql.com

In response to

Browse pgsql-admin by date

  From Date Subject
Next Message Thomas Kaliakos 2022-02-21 14:44:59 Programmatic access to the SQL tab of pgadmin
Previous Message Thomas Kaliakos 2022-02-21 14:10:53 Programmatic access to the SQL tab of pgadmin