From 6abf2236b59c6c5c569d2ee71df843114869ba56 Mon Sep 17 00:00:00 2001 From: Takayuki Tsunakawa Date: Wed, 2 Dec 2020 17:04:12 +0900 Subject: [PATCH v1] Make ALTER TABLE SET LOGGED/UNLOGGED on a partitioned table recurse --- src/backend/commands/tablecmds.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/backend/commands/tablecmds.c b/src/backend/commands/tablecmds.c index a29c14b..81b2fe9 100644 --- a/src/backend/commands/tablecmds.c +++ b/src/backend/commands/tablecmds.c @@ -4246,6 +4246,8 @@ ATPrepCmd(List **wqueue, Relation rel, AlterTableCmd *cmd, tab->rewrite |= AT_REWRITE_ALTER_PERSISTENCE; tab->newrelpersistence = RELPERSISTENCE_PERMANENT; } + if (rel->rd_rel->relkind == RELKIND_PARTITIONED_TABLE) + ATSimpleRecursion(wqueue, rel, cmd, recurse, lockmode, context); pass = AT_PASS_MISC; break; case AT_SetUnLogged: /* SET UNLOGGED */ @@ -4261,6 +4263,8 @@ ATPrepCmd(List **wqueue, Relation rel, AlterTableCmd *cmd, tab->rewrite |= AT_REWRITE_ALTER_PERSISTENCE; tab->newrelpersistence = RELPERSISTENCE_UNLOGGED; } + if (rel->rd_rel->relkind == RELKIND_PARTITIONED_TABLE) + ATSimpleRecursion(wqueue, rel, cmd, recurse, lockmode, context); pass = AT_PASS_MISC; break; case AT_DropOids: /* SET WITHOUT OIDS */ -- 2.10.1