Re: BUG #18674: Partitioned table doesn't depend on access method it uses

Alexander Law <exclusion@gmail.com>

From: Alexander Lakhin <exclusion@gmail.com>
To: Michael Paquier <michael@paquier.xyz>, Kirill Reshke <reshkekirill@gmail.com>
Cc: pgsql-bugs@lists.postgresql.org
Date: 2024-10-28T08:00:00Z
Lists: pgsql-bugs
Hello Michael and Kirill,

28.10.2024 10:23, Michael Paquier wrote:
> The path of adding the dependency between an AM and a table/matview is
> heap_create_with_catalog() when these are defined.  We can just expand
> that for partitioned tables and simply fix the problem.  Attached is a
> patch to do that, with tests around create_am.sql based on USING
> checking the contents of pg_depend.

0001-Fix-dependency....patch works for me, but while testing, I've also
observed another questionable behavior:
CREATE ACCESS METHOD heap2 TYPE TABLE HANDLER heap_tableam_handler;
SET default_table_access_method = heap2;
CREATE TABLE pt (a int) PARTITION BY LIST (a);
\d+ pt

doesn't show heap2 as access method for the table.

Shouldn't default_table_access_method affect partitioned tables?

Best regards.
Alexander



Commits

  1. Fix dependency of partitioned table and table AM with CREATE TABLE .. USING