Re: Unnecessary locks for partitioned tables

2022-11-09 Thread David Rowley
On Thu, 10 Nov 2022 at 04:11, wrote: > If someone would create delayed locking for generic plans, after parameters > are known and partition pruning occurs, I believe generic plan will be on > pars with custom. > So, I`m sticking with plan cache parameter for feature development, that was > clear.

RE: Unnecessary locks for partitioned tables

2022-11-09 Thread n.kobzarev
> writes: > > Oh, I did not explicitly write that, in case of custom plan (first attempts or with force_custom_plan) database > > holds only a couple of locks! > > Why in this > case it is sufficient to lock only one partition and parent table ? > Because partition routing is done at planning

Re: Unnecessary locks for partitioned tables

2022-11-09 Thread Tom Lane
writes: > Oh, I did not explicitly write that, in case of custom plan (first attempts > or with force_custom_plan) database holds only a couple of locks! Why in this > case it is sufficient to lock only one partition and parent table ? Because partition routing is done at planning time in that

RE: Unnecessary locks for partitioned tables

2022-11-09 Thread n.kobzarev
> > On Wed, 2022-11-09 at 14:11 +0300, n.kobza...@aeronavigator.ru wrote: > > Recently I`ve been pushing into life a new project and immediately > > experienced an Out of shared memory error while querying partitioned tables. > > > > ERROR: out of shared memory > > Hint: You might need to incr

Re: Unnecessary locks for partitioned tables

2022-11-09 Thread Laurenz Albe
On Wed, 2022-11-09 at 14:11 +0300, n.kobza...@aeronavigator.ru wrote: > Recently I`ve been pushing into life a new project and immediately > experienced an > Out of shared memory error while querying partitioned tables. >   > ERROR: out of shared memory >   Hint: You might need to increase max_loc

Unnecessary locks for partitioned tables

2022-11-09 Thread n.kobzarev
Hello! Recently I`ve been pushing into life a new project and immediately experienced an Out of shared memory error while querying partitioned tables. Imagine a huge busy table that you want to split into hundreds of partitions by list. Partition key is a kind of surrogate key that can be c