*** a/contrib/postgres_fdw/postgres_fdw.c
--- b/contrib/postgres_fdw/postgres_fdw.c
***************
*** 4560,4567 **** conversion_error_callback(void *arg)
  		Assert(IsA(var, Var));
  
  		rte = rt_fetch(var->varno, estate->es_range_table);
  		relname = get_rel_name(rte->relid);
- 		attname = get_relid_attribute_name(rte->relid, var->varattno);
  	}
  
  	if (attname && relname)
--- 4560,4572 ----
  		Assert(IsA(var, Var));
  
  		rte = rt_fetch(var->varno, estate->es_range_table);
+ 
+ 		if (var->varattno != 0)
+ 			attname = get_relid_attribute_name(rte->relid, var->varattno);
+ 		else
+ 			attname = "wholerow";
+ 
  		relname = get_rel_name(rte->relid);
  	}
  
  	if (attname && relname)
