diff options
Diffstat (limited to 'src/backend/commands')
-rw-r--r-- | src/backend/commands/tablecmds.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/src/backend/commands/tablecmds.c b/src/backend/commands/tablecmds.c index bedd8aeb782..5d842857523 100644 --- a/src/backend/commands/tablecmds.c +++ b/src/backend/commands/tablecmds.c @@ -4367,10 +4367,12 @@ ATSimpleRecursion(List **wqueue, Relation rel, AlterTableCmd *cmd, bool recurse, LOCKMODE lockmode) { /* - * Propagate to children if desired. Non-table relations never have - * children, so no need to search in that case. + * Propagate to children if desired. Only plain tables and foreign tables + * have children, so no need to search for other relkinds. */ - if (recurse && rel->rd_rel->relkind == RELKIND_RELATION) + if (recurse && + (rel->rd_rel->relkind == RELKIND_RELATION || + rel->rd_rel->relkind == RELKIND_FOREIGN_TABLE)) { Oid relid = RelationGetRelid(rel); ListCell *child; |