diff --git a/src/backend/distributed/utils/statistics_collection.c b/src/backend/distributed/utils/statistics_collection.c index 3fdd8f6a2..901ee015d 100644 --- a/src/backend/distributed/utils/statistics_collection.c +++ b/src/backend/distributed/utils/statistics_collection.c @@ -65,6 +65,17 @@ CollectBasicUsageStatistics(void) memset(&unameData, 0, sizeof(unameData)); StartTransactionCommand(); + + /* + * If there is a version mismatch between loaded version and available + * version, metadata functions will fail. We return early to avoid crashing. + * This can happen when updating the Citus extension. + */ + if (!CheckCitusVersion(LOG_SERVER_ONLY)) + { + CommitTransactionCommand(); + return false; + } distributedTables = DistributedTableList(); roundedDistTableCount = NextPow2(list_length(distributedTables)); roundedClusterSize = NextPow2(ClusterSize(distributedTables));