Re: ALTER TABLE SET ACCESS METHOD on partitioned tables

From: Justin Pryzby <pryzby(at)telsasoft(dot)com>
To: Michael Paquier <michael(at)paquier(dot)xyz>
Cc: Soumyadeep Chakraborty <soumyadeep2007(at)gmail(dot)com>, Zhihong Yu <zyu(at)yugabyte(dot)com>, pgsql-hackers(at)postgresql(dot)org, Ashwin Agrawal <ashwinstar(at)gmail(dot)com>, vanjared(at)vmware(dot)com
Subject: Re: ALTER TABLE SET ACCESS METHOD on partitioned tables
Date: 2023-04-25 00:18:54
Message-ID: ZEccbkBYCMy42Rxt@telsasoft.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Thu, Mar 30, 2023 at 12:07:58AM -0500, Justin Pryzby wrote:
> On Mon, Mar 27, 2023 at 11:34:36PM -0500, Justin Pryzby wrote:
> > On Tue, Mar 28, 2023 at 09:13:10AM +0900, Michael Paquier wrote:
> > > On Mon, Mar 20, 2023 at 09:30:50AM +0900, Michael Paquier wrote:
> > > > Did you check dump and restore flows with partition
> > > > trees and --no-table-access-method? Perhaps there should be
> > > > some regression tests with partitioned tables?
> > >
> > > I was looking at the patch, and as I suspected the dumps generated
> > > are forgetting to apply the AM to the partitioned tables.
> >
> > The patch said:
> >
> > + else if (RELKIND_HAS_TABLE_AM(relkind) || relkind == RELKIND_PARTITIONED_TABLE)
> >
> > pg_dump was missing a similar change that's conditional on
> > RELKIND_HAS_TABLE_AM(). It looks like those are the only two places
> > that need be be specially handled.
> >
> > I dug up my latest patch from 2021 and incorporated the changes from the
> > 0001 patch here, and added a test case.
> >
> > I realized that one difference with tablespaces is that, as written,
> > partitioned tables will *always* have an AM specified, and partitions
> > will never use default_table_access_method. Is that what's intended ?
> >
> > Or do we need logic similar tablespaces, such that the relam of a
> > partitioned table is set only if it differs from default_table_am ?
>
> Actually .. I think it'd be a mistake if the relam needed to be
> interpretted differently for partitioned tables than other relkinds.
>
> I updated the patch to allow intermediate partitioned tables to inherit
> relam from their parent.
>
> Michael wrote:
> > .. and there are quite more points to consider.
>
> What more points ? There's nothing that's been raised here. In fact,
> your message last week is the first comment since last June ..

Michael ?

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Melanie Plageman 2023-04-25 01:29:48 Re: pg_stat_io not tracking smgrwriteback() is confusing
Previous Message Andres Freund 2023-04-25 00:16:23 Re: could not extend file "base/5/3501" with FileFallocate(): Interrupted system call