From: | Justin Pryzby <pryzby(at)telsasoft(dot)com> |
---|---|
To: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
Cc: | Matthias van de Meent <boekewurm+postgres(at)gmail(dot)com>, Ilya Gladyshev <ilya(dot)v(dot)gladyshev(at)gmail(dot)com>, Alvaro Herrera <alvherre(at)alvh(dot)no-ip(dot)org>, Tomas Vondra <tomas(dot)vondra(at)enterprisedb(dot)com>, pgsql-hackers(at)lists(dot)postgresql(dot)org |
Subject: | Re: Progress report of CREATE INDEX for nested partitioned tables |
Date: | 2023-03-12 20:09:57 |
Message-ID: | ZA4xlW9VB+1fYgyo@telsasoft.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
On Fri, Mar 10, 2023 at 03:36:10PM -0500, Tom Lane wrote:
> Justin Pryzby <pryzby(at)telsasoft(dot)com> writes:
> > Update to address a compiler warning in the supplementary patches adding
> > assertions.
>
> I took a look through this. It seems like basically a good solution,
> but the count_leaf_partitions() function is bothering me, for two
> reasons:
>
> 1. It seems like a pretty expensive thing to do. Don't we have the
> info at hand somewhere already?
I don't know where that would be. We need the list of both direct *and*
indirect partitions. See:
https://www.postgresql.org/message-id/5073D187-4200-4A2D-BAC0-91C657E3C22E%40gmail.com
If it would help to avoid the concern, then I might consider proposing
not to call get_rel_relkind() ...
> 2. Is it really safe to do find_all_inheritors with NoLock? If so,
> a comment explaining why would be good.
In both cases (both for the parent and for case of a partitioned child
with pre-existing indexes being ATTACHed), the table itself is already
locked by DefineIndex():
lockmode = concurrent ? ShareUpdateExclusiveLock : ShareLock;
rel = table_open(relationId, lockmode);
and
childrel = table_open(childRelid, lockmode);
...
table_close(childrel, NoLock);
And, find_all_inheritors() will also have been called by
ProcessUtilitySlow(). Maybe it's sufficient to mention that ?
--
Justin
From | Date | Subject | |
---|---|---|---|
Next Message | Tom Lane | 2023-03-12 20:14:06 | Re: Progress report of CREATE INDEX for nested partitioned tables |
Previous Message | Andrey Borodin | 2023-03-12 20:05:39 | Re: psql \watch 2nd argument: iteration count |