diff options
Diffstat (limited to 'src/backend/utils/adt/ruleutils.c')
-rw-r--r-- | src/backend/utils/adt/ruleutils.c | 10 |
1 files changed, 3 insertions, 7 deletions
diff --git a/src/backend/utils/adt/ruleutils.c b/src/backend/utils/adt/ruleutils.c index 20e6f80d82..0485ae2383 100644 --- a/src/backend/utils/adt/ruleutils.c +++ b/src/backend/utils/adt/ruleutils.c @@ -5796,16 +5796,12 @@ get_utility_query_def(Query *query, deparse_context *context) bool istemp = (relation->relpersistence == RELPERSISTENCE_TEMP); bool isunlogged = (relation->relpersistence == RELPERSISTENCE_UNLOGGED); - if (istemp && relation->schemaname) - ereport(ERROR, - (errcode(ERRCODE_INVALID_TABLE_DEFINITION), - errmsg("temporary tables cannot specify a schema name"))); - - appendStringInfo(buf, "CREATE %s %s TABLE ", + appendStringInfo(buf, "CREATE %s %s %s TABLE ", + stmt->islocal ? "LOCAL" : "", istemp ? "TEMP" : "", isunlogged ? "UNLOGGED" : ""); - if (relation->schemaname && relation->schemaname[0]) + if (!istemp && relation->schemaname && relation->schemaname[0]) appendStringInfo(buf, "%s.", relation->schemaname); appendStringInfo(buf, "%s", relation->relname); |