diff --git a/src/backend/access/heap/vacuumlazy.c b/src/backend/access/heap/vacuumlazy.c index 21bd104f69d..a42e881da34 100644 --- a/src/backend/access/heap/vacuumlazy.c +++ b/src/backend/access/heap/vacuumlazy.c @@ -172,6 +172,7 @@ typedef struct LVRelState bool skippedallvis; /* Error reporting state */ + char *dbname; char *relnamespace; char *relname; char *indname; /* Current index name */ @@ -354,6 +355,7 @@ heap_vacuum_rel(Relation rel, VacuumParams *params, * these temp copies. */ vacrel = (LVRelState *) palloc0(sizeof(LVRelState)); + vacrel->dbname = get_database_name(MyDatabaseId); vacrel->relnamespace = get_namespace_name(RelationGetNamespace(rel)); vacrel->relname = pstrdup(RelationGetRelationName(rel)); vacrel->indname = NULL; @@ -475,13 +477,13 @@ heap_vacuum_rel(Relation rel, VacuumParams *params, if (vacrel->aggressive) ereport(INFO, (errmsg("aggressively vacuuming \"%s.%s.%s\"", - get_database_name(MyDatabaseId), - vacrel->relnamespace, vacrel->relname))); + vacrel->dbname, vacrel->relnamespace, + vacrel->relname))); else ereport(INFO, (errmsg("vacuuming \"%s.%s.%s\"", - get_database_name(MyDatabaseId), - vacrel->relnamespace, vacrel->relname))); + vacrel->dbname, vacrel->relnamespace, + vacrel->relname))); } /* @@ -650,7 +652,7 @@ heap_vacuum_rel(Relation rel, VacuumParams *params, msgfmt = _("automatic vacuum of table \"%s.%s.%s\": index scans: %d\n"); } appendStringInfo(&buf, msgfmt, - get_database_name(MyDatabaseId), + vacrel->dbname, vacrel->relnamespace, vacrel->relname, vacrel->num_index_scans); @@ -2614,9 +2616,7 @@ lazy_check_wraparound_failsafe(LVRelState *vacrel) ereport(WARNING, (errmsg("bypassing nonessential maintenance of table \"%s.%s.%s\" as a failsafe after %d index scans", - get_database_name(MyDatabaseId), - vacrel->relnamespace, - vacrel->relname, + vacrel->dbname, vacrel->relnamespace, vacrel->relname, vacrel->num_index_scans), errdetail("The table's relfrozenxid or relminmxid is too far in the past."), errhint("Consider increasing configuration parameter \"maintenance_work_mem\" or \"autovacuum_work_mem\".\n"