diff --git a/src/backend/optimizer/util/plancat.c b/src/backend/optimizer/util/plancat.c index 13c2ea77699..f1d08a4d128 100644 --- a/src/backend/optimizer/util/plancat.c +++ b/src/backend/optimizer/util/plancat.c @@ -1621,8 +1621,10 @@ GetExtStatisticsName(Oid statOid) elog(ERROR, "cache lookup failed for statistics object %u", statOid); staForm = (Form_pg_statistic_ext) GETSTRUCT(htup); + /* Copy the name before releasing the cache entry. */ + char *result = pstrdup(NameStr(staForm->stxname)); ReleaseSysCache(htup); - return NameStr(staForm->stxname); + return result; } /*