While reviewing the patch for SET ACCESS METHOD[1] I noticed that pg_class.relam is not documented fully for partitioned tables, so I proposed the attached. Also, I remove a comment that merely repeats what was already said a few lines above.
This is intended for backpatch to 12. [1] https://postgr.es/m/202403191013.w2kr7wqlamqz@alvherre.pgsql -- Álvaro Herrera Breisgau, Deutschland — https://www.EnterpriseDB.com/
>From fe4d53f33c688ab3ff132964bf42ba5fc8cdaa6e Mon Sep 17 00:00:00 2001 From: Alvaro Herrera <alvhe...@alvh.no-ip.org> Date: Tue, 19 Mar 2024 09:49:46 +0100 Subject: [PATCH] Review for wording on tablespaces on partitioned tables Remove a redundant comment, and document pg_class.relam in catalogs.sgml. After commits a36c84c3e4a9, 87259588d0ab and others. Discussion: https://postgr.es/m/202403191013.w2kr7wqlamqz@alvherre.pgsql --- doc/src/sgml/catalogs.sgml | 8 +++++--- src/backend/commands/tablecmds.c | 4 ---- 2 files changed, 5 insertions(+), 7 deletions(-) diff --git a/doc/src/sgml/catalogs.sgml b/doc/src/sgml/catalogs.sgml index 2f091ad09d..183669272b 100644 --- a/doc/src/sgml/catalogs.sgml +++ b/doc/src/sgml/catalogs.sgml @@ -2011,9 +2011,11 @@ SCRAM-SHA-256$<replaceable><iteration count></replaceable>:<replaceable>&l (references <link linkend="catalog-pg-tablespace"><structname>pg_tablespace</structname></link>.<structfield>oid</structfield>) </para> <para> - The tablespace in which this relation is stored. If zero, - the database's default tablespace is implied. (Not meaningful - if the relation has no on-disk file.) + The tablespace in which this relation is stored; for partitioned + tables, the tablespace in which partitions are created + when one is not specified in the creation command. + If zero, the database's default tablespace is implied. + (Not meaningful if the relation has no on-disk file.) </para></entry> </row> diff --git a/src/backend/commands/tablecmds.c b/src/backend/commands/tablecmds.c index 3ed0618b4e..6c0c899210 100644 --- a/src/backend/commands/tablecmds.c +++ b/src/backend/commands/tablecmds.c @@ -807,10 +807,6 @@ DefineRelation(CreateStmt *stmt, char relkind, Oid ownerId, } else if (stmt->partbound) { - /* - * For partitions, when no other tablespace is specified, we default - * the tablespace to the parent partitioned table's. - */ Assert(list_length(inheritOids) == 1); tablespaceId = get_rel_tablespace(linitial_oid(inheritOids)); } -- 2.39.2