Re: Segfault on logical replication to partitioned table with foreign children
Ilya Gladyshev <ilya.v.gladyshev@gmail.com>
From: Ilya Gladyshev <ilya.v.gladyshev@gmail.com>
To: Tom Lane <tgl@sss.pgh.pa.us>
Cc: "shiy.fnst@fujitsu.com" <shiy.fnst@fujitsu.com>, Dilip Kumar <dilipbalaut@gmail.com>, "pgsql-hackers@lists.postgresql.org" <pgsql-hackers@lists.postgresql.org>
Date: 2022-11-03T08:45:08Z
Lists: pgsql-hackers
Attachments
- 0001-Delay-namespace-and-relname-lookups-until-error.patch (text/x-patch) patch 0001
On Wed, 2022-11-02 at 12:37 -0400, Tom Lane wrote: > Since we're getting pretty close to the next set of back-branch > releases, > I went ahead and pushed a minimal fix along the lines suggested by > Shi Yu. > (I realized that there's a second ExecFindPartition call in worker.c > that > also needs a check.) We still can at leisure think about refactoring > CheckSubscriptionRelkind to avoid unnecessary lookups. I think that > is something we should do only in HEAD; it'll just be a marginal > savings, > not worth the risks of API changes in stable branches. The other > loose > end is whether to worry about a regression test case. I'm inclined > not > to bother. The only thing that isn't getting exercised is the actual > ereport, which probably isn't in great need of routine testing. > > regards, tom lane I agree that early checks limit some of the functionality that was available before, so I guess the only way to preserve it is to do only the last-minute checks after routing, fair enough. As for the refactoring of the premature lookup, I have done some work on that in the previous patch, I think we can just use it. Attached a separate patch with the refactoring.
Commits
-
Defend against unsupported partition relkind in logical replication worker.
- be541efbfd11 16.0 landed
- a5b7821fc908 14.6 landed
- 4d3f7e75c8a3 13.9 landed
- 414d29a826f3 15.1 landed