On 2019-Jun-06, Alvaro Herrera wrote: > Here's my proposed patch. I changed/expanded the tests a little bit to > ensure more complete coverage.
Well, revise the comments a little bit. -- Álvaro Herrera https://www.2ndQuadrant.com/ PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services
diff --git a/src/backend/commands/tablecmds.c b/src/backend/commands/tablecmds.c index b3095bd937..2a72c1b501 100644 --- a/src/backend/commands/tablecmds.c +++ b/src/backend/commands/tablecmds.c @@ -660,8 +660,8 @@ DefineRelation(CreateStmt *stmt, char relkind, Oid ownerId, } /* - * Select tablespace to use. If not specified, use default tablespace - * (which may in turn default to database's default). + * Select tablespace to use: an explicitly indicated one, or (in the case + * of a partitioned table) the parent's, if it has one. */ if (stmt->tablespacename) { @@ -684,7 +684,8 @@ DefineRelation(CreateStmt *stmt, char relkind, Oid ownerId, else tablespaceId = InvalidOid; - if (!OidIsValid(tablespaceId)) /* note no "else" */ + /* still nothing? use the default */ + if (!OidIsValid(tablespaceId)) tablespaceId = GetDefaultTablespace(stmt->relation->relpersistence, partitioned);