diff --git a/src/backend/utils/adt/multixactfuncs.c b/src/backend/utils/adt/multixactfuncs.c index d9aa58e821d..f51de47e879 100644 --- a/src/backend/utils/adt/multixactfuncs.c +++ b/src/backend/utils/adt/multixactfuncs.c @@ -17,6 +17,7 @@ #include "access/htup_details.h" #include "access/multixact.h" #include "access/multixact_internal.h" +#include "access/xlog.h" #include "catalog/pg_authid_d.h" #include "funcapi.h" #include "miscadmin.h" @@ -103,6 +104,13 @@ pg_get_multixact_stats(PG_FUNCTION_ARGS) Datum values[4]; bool nulls[4]; + if (RecoveryInProgress()) + ereport(ERROR, + (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("recovery is in progress"), + errhint("%s cannot be executed during recovery.", + "pg_get_multixact_stats()"))); + if (get_call_result_type(fcinfo, NULL, &tupdesc) != TYPEFUNC_COMPOSITE) ereport(ERROR, (errcode(ERRCODE_FEATURE_NOT_SUPPORTED),