diff options
Diffstat (limited to 'src/backend/commands/sequence.c')
-rw-r--r-- | src/backend/commands/sequence.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/src/backend/commands/sequence.c b/src/backend/commands/sequence.c index ff855d60e5d..49e409a5eed 100644 --- a/src/backend/commands/sequence.c +++ b/src/backend/commands/sequence.c @@ -1440,11 +1440,12 @@ process_owned_by(Relation seqrel, List *owned_by) rel = makeRangeVarFromNameList(relname); tablerel = relation_openrv(rel, AccessShareLock); - /* Must be a regular table */ - if (tablerel->rd_rel->relkind != RELKIND_RELATION) + /* Must be a regular or foreign table */ + if (!(tablerel->rd_rel->relkind == RELKIND_RELATION || + tablerel->rd_rel->relkind == RELKIND_FOREIGN_TABLE)) ereport(ERROR, (errcode(ERRCODE_WRONG_OBJECT_TYPE), - errmsg("referenced relation \"%s\" is not a table", + errmsg("referenced relation \"%s\" is not a table or foreign table", RelationGetRelationName(tablerel)))); /* We insist on same owner and schema */ |