Re: pg_restore causing deadlocks on partitioned tables
Tom Lane <tgl@sss.pgh.pa.us>
From: Tom Lane <tgl@sss.pgh.pa.us>
To: Amit Langote <amitlangote09@gmail.com>
Cc: Alvaro Herrera <alvherre@2ndquadrant.com>,
Domagoj Smoljanovic <domagoj.smoljanovic@oradian.com>,
"pgsql-hackers@postgresql.org" <pgsql-hackers@postgresql.org>
Date: 2020-09-16T18:40:41Z
Lists: pgsql-hackers
Amit Langote <amitlangote09@gmail.com> writes: > Updated patch attached. Pushed with a little bit of fooling about. After looking at the git history, I saw that the Assert we were wondering about used to be just "Assert(constr)", and there were not run-time checks on whether constr is null. That was changed when f0e44751d added partition constraint checking into ExecConstraints' responsibilities. At some later point that code was removed from ExecConstraints, but we failed to undo the other changes in ExecConstraints, leaving it looking pretty silly. So I reverted this to the way it was, with just an Assert and no regular checks. I also did a bit more work on the comments. (Speaking of which, is there a better place to put the commentary you removed from InitResultRelInfo? It was surely wildly out of place there, but I'm wondering if maybe we have a README that should cover it.) I pushed this to HEAD only, and the other patch as far back as v12, so we will have a solution to the deadlock problem in v12. regards, tom lane
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