diff --git a/src/backend/distributed/utils/node_metadata.c b/src/backend/distributed/utils/node_metadata.c index cf7190d46..8c2ecc2ce 100644 --- a/src/backend/distributed/utils/node_metadata.c +++ b/src/backend/distributed/utils/node_metadata.c @@ -1424,7 +1424,17 @@ TupleToWorkerNode(TupleDesc tupleDescriptor, HeapTuple heapTuple) { Name nodeClusterName = DatumGetName(nodeCluster); char *nodeClusterString = NameStr(*nodeClusterName); - strlcpy(workerNode->nodeCluster, nodeClusterString, NAMEDATALEN); + + /* + * nodeClusterString can be null if nodecluster column is not present. + * In the case of extension creation/upgrade, master_initialize_node_metadata + * function is called before the nodecluster column is added to pg_dist_node + * table. + */ + if (nodeClusterString != NULL) + { + strlcpy(workerNode->nodeCluster, nodeClusterString, NAMEDATALEN); + } } return workerNode;