Re: pg_restore causing deadlocks on partitioned tables
Amit Langote <amitlangote09@gmail.com>
From: Amit Langote <amitlangote09@gmail.com>
To: Tom Lane <tgl@sss.pgh.pa.us>
Cc: Alvaro Herrera <alvherre@2ndquadrant.com>, Domagoj Smoljanovic <domagoj.smoljanovic@oradian.com>, "pgsql-hackers@postgresql.org" <pgsql-hackers@postgresql.org>
Date: 2020-09-15T14:07:30Z
Lists: pgsql-hackers
On Tue, Sep 15, 2020 at 10:47 PM Tom Lane <tgl@sss.pgh.pa.us> wrote: > Amit Langote <amitlangote09@gmail.com> writes: > > On Tue, Sep 15, 2020 at 9:09 AM Tom Lane <tgl@sss.pgh.pa.us> wrote: > >> I wrote a quick patch for this part. It seems pretty safe and probably > >> could be back-patched without fear. > > > The patch's theory that if the parent column has NOT NULL set then it > > must be set in child tables too does not actually hold for plain > > inheritance cases, because as shown above, NOT NULL can be dropped in > > children independently of the parent. > > Ah, right. That seems like a bug but we have not attempted to fix it. IIRC, when this behavior was brought up as a bug in past discussions, it was decided that it will be fixed when NOT NULL constraints are represented using pg_constraint entries. > But we could restrict the optimization to partitioned tables, where > the assumption does hold, no? Yeah, seems safe in their case. -- Amit Langote EnterpriseDB: http://www.enterprisedb.com
Commits
-
Don't fetch partition check expression during InitResultRelInfo.
- 2000b6c10aa6 14.0 landed
-
Avoid unnecessary recursion to child tables in ALTER TABLE SET NOT NULL.
- e5fac1cb1941 14.0 landed
- 511690ec5dcc 12.5 landed
- 17280b31c2f2 13.0 landed