elog(ERROR, "index \"%s\" already contains data",
RelationGetRelationName(index));
+ /*
+ * We can't yet handle unlogged GiST indexes, because we depend on LSNs.
+ * This is duplicative of an error in gistbuildempty, but we want to check
+ * here so as to throw error before doing all the index-build work.
+ */
+ if (heap->rd_rel->relpersistence == RELPERSISTENCE_UNLOGGED)
+ ereport(ERROR,
+ (errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
+ errmsg("unlogged GiST indexes are not supported")));
+
/* no locking is needed */
buildstate.giststate = initGISTstate(index);