*** a/src/backend/commands/foreigncmds.c
--- b/src/backend/commands/foreigncmds.c
***************
*** 466,472 **** AlterForeignDataWrapper(AlterFdwStmt *stmt)
  										NULL, fdwlib->validateOptionList);
  
  		if (PointerIsValid(DatumGetPointer(datum)))
! 			repl_val[Anum_pg_foreign_data_wrapper_fdwoptions - 1] = ObjectIdGetDatum(datum);
  		else
  			repl_null[Anum_pg_foreign_data_wrapper_fdwoptions - 1] = true;
  
--- 466,472 ----
  										NULL, fdwlib->validateOptionList);
  
  		if (PointerIsValid(DatumGetPointer(datum)))
! 			repl_val[Anum_pg_foreign_data_wrapper_fdwoptions - 1] = datum;
  		else
  			repl_null[Anum_pg_foreign_data_wrapper_fdwoptions - 1] = true;
  
*** a/src/backend/parser/gram.y
--- b/src/backend/parser/gram.y
***************
*** 3001,3007 **** CreateUserMappingStmt: CREATE USER MAPPING FOR auth_ident SERVER name create_gen
  auth_ident:
  			CURRENT_USER 	{ $$ = "current_user"; }
  		|	USER			{ $$ = "current_user"; }
! 		|	RoleId 			{ $$ = (strcmp($1, "public") == 0) ? NULL : $1 }
  		;
  
  /*****************************************************************************
--- 3001,3007 ----
  auth_ident:
  			CURRENT_USER 	{ $$ = "current_user"; }
  		|	USER			{ $$ = "current_user"; }
! 		|	RoleId 			{ $$ = (strcmp($1, "public") == 0) ? NULL : $1; }
  		;
  
  /*****************************************************************************
