Re: ALTER TABLE SET ACCESS METHOD on partitioned tables

Peter Eisentraut <peter@eisentraut.org>

From: Peter Eisentraut <peter@eisentraut.org>
To: Michael Paquier <michael@paquier.xyz>
Cc: Justin Pryzby <pryzby@telsasoft.com>, Soumyadeep Chakraborty <soumyadeep2007@gmail.com>, Zhihong Yu <zyu@yugabyte.com>, pgsql-hackers@postgresql.org, Ashwin Agrawal <ashwinstar@gmail.com>, vanjared@vmware.com
Date: 2024-02-21T07:46:48Z
Lists: pgsql-hackers
On 21.02.24 07:40, Michael Paquier wrote:
> This means that all partitioned tables would have pg_class.relam set,
> and that relam would never be 0:
> - The USING clause takes priority over default_table_access_method.
> - If no USING clause, default_table_access_method is the AM used
> 
> Any partitions created from this partitioned table would inherit the
> AM set, ignoring default_table_access_method.
> 
> Alvaro has made a very good point a couple of days ago at [1] where we
> should try to make the behavior stick closer to tablespaces, where it
> could be possible to set relam to 0 for a partitioned table, where a
> partition would inherit the AM set in the GUC when a USING clause is
> not defined (if USING specifies the AM, we'd just use it).

Yes, I think most people agreed that that would be the preferred behavior.




Commits

Same data as JSON: GET /api/v1/messages/:b64id/commits the thread's linked commits as JSON, with link sources. API reference →
  1. Add information about access method for partitioned relations in \dP+

  2. Fix dumps of partitioned tables with table AMs

  3. Don't use the pg_am system catalog in new test

  4. ALTER TABLE: rework determination of access method ID

  5. Allow specifying an access method for partitioned tables

  6. Review wording on tablespaces w.r.t. partitioned tables

  7. Add support for DEFAULT in ALTER TABLE .. SET ACCESS METHOD

  8. Update comment of AlterTableCmd->name in parsenodes.h