diff --git a/src/backend/commands/matview.c b/src/backend/commands/matview.c index c952dea6ea..8df3d1d81d 100644 --- a/src/backend/commands/matview.c +++ b/src/backend/commands/matview.c @@ -326,8 +326,6 @@ ExecRefreshMatView(RefreshMatViewStmt *stmt, const char *queryString, if (!stmt->skipData) processed = refresh_matview_datafill(dest, dataQuery, queryString); - heap_close(matviewRel, NoLock); - /* Make the matview match the newly generated data. */ if (concurrent) { @@ -361,6 +359,8 @@ ExecRefreshMatView(RefreshMatViewStmt *stmt, const char *queryString, pgstat_count_heap_insert(matviewRel, processed); } + heap_close(matviewRel, NoLock); + /* Roll back any GUC changes */ AtEOXact_GUC(false, save_nestlevel);