Re: document the need to analyze partitioned tables - Mailing list pgsql-hackers

From Laurenz Albe
Subject Re: document the need to analyze partitioned tables
Date
Msg-id 596c6bea8b7768e24b093d26f15daa4ce0df566f.camel@cybertec.at
Whole thread Raw
In response to Re: document the need to analyze partitioned tables  (David Rowley <dgrowleyml@gmail.com>)
Responses Re: document the need to analyze partitioned tables
List pgsql-hackers
Sorry for dropping the ball on this; I'll add it to the next commitfest.

On Wed, 2023-01-25 at 21:43 +1300, David Rowley wrote:
> > I think your first sentence it a bit clumsy and might be streamlined to
> >
> >   Partitioned tables do not directly store tuples and consequently do not
> >   require autovacuum to perform any <command>VACUUM</command> operations.
>
> That seems better than what I had.

Ok, I went with it.

> > Also, I am a little bit unhappy about
> >
> > 1. Your paragraph states that partitioned table need no autovacuum,
> >    but doesn't state unmistakably that they will never be treated
> >    by autovacuum.
>
> hmm. I assume the reader realises from the text that lack of any
> tuples means VACUUM is not required.  The remaining part of what
> autovacuum does not do is explained when the text goes on to say that
> ANALYZE operations are also not performed on partitioned tables. I'm
> not sure what is left that's mistakable there.

I rewrote the paragraph a little so that it looks clearer to me.
I hope it is OK for you as well.

> > 2. You make a distinction between table partitions and "normal tables",
> >    but really there is no distiction.
>
> We may have different mental models here. This relates to the part
> that I wasn't keen on in your patch, i.e:
>
> +    The partitions of a partitioned table are normal tables and get processed
> +    by autovacuum
>
> While I agree that the majority of partitions are likely to be
> relkind='r', which you might ordinarily consider a "normal table", you
> just might change your mind when you try to INSERT or UPDATE records
> that would violate the partition constraint. Some partitions might
> also be themselves partitioned tables and others might be foreign
> tables. That does not really matter much when it comes to what
> autovacuum does or does not do, but I'm not really keen to imply in
> our documents that partitions are "normal tables".

Agreed, there are differences between partitions and normal tables.
And this is not the place in the documentation where we would like to
get into detail about the differences.

Attached is the next version of my patch.

Yours,
Laurenz Albe

Attachment

pgsql-hackers by date:

Previous
From: Michael Paquier
Date:
Subject: Re: Autogenerate some wait events code and documentation
Next
From: Amit Kapila
Date:
Subject: Re: persist logical slots to disk during shutdown checkpoint