/* Note: during bootstrap may see uncataloged relation */
if (rel->rd_rel->relkind != RELKIND_RELATION &&
rel->rd_rel->relkind != RELKIND_UNCATALOGED)
- ereport(ERROR,
- (errcode(ERRCODE_WRONG_OBJECT_TYPE),
- errmsg("\"%s\" is not a table",
- heapRelation->relname)));
+ {
+ if (rel->rd_rel->relkind == RELKIND_FOREIGN_TABLE)
+ /*
+ * Custom error message for FOREIGN TABLE since the term is
+ * close to a regular table and can confuse the user.
+ */
+ ereport(ERROR,
+ (errcode(ERRCODE_WRONG_OBJECT_TYPE),
+ errmsg("cannot create index on foreign table \"%s\"",
+ heapRelation->relname)));
+ else
+ ereport(ERROR,
+ (errcode(ERRCODE_WRONG_OBJECT_TYPE),
+ errmsg("\"%s\" is not a table",
+ heapRelation->relname)));
+ }
/*
* Don't try to CREATE INDEX on temp tables of other backends.