diff --git a/src/bin/psql/command.c b/src/bin/psql/command.c
index 2c38902..121612c 100644
*** a/src/bin/psql/command.c
--- b/src/bin/psql/command.c
*************** exec_command(const char *cmd,
*** 583,589 ****
  	{
  		int			lineno = -1;
  
! 		if (!query_buf)
  		{
  			psql_error("no query buffer\n");
  			status = PSQL_CMD_ERROR;
--- 583,595 ----
  	{
  		int			lineno = -1;
  
! 		if (pset.sversion < 80400)
! 		{
! 				psql_error("The server (version %d.%d) does not support editing function source.\n",
! 						   pset.sversion / 10000, (pset.sversion / 100) % 100);
! 				status = PSQL_CMD_ERROR;
! 		}
! 		else if (!query_buf)
  		{
  			psql_error("no query buffer\n");
  			status = PSQL_CMD_ERROR;
*************** exec_command(const char *cmd,
*** 1115,1121 ****
  		func_buf = createPQExpBuffer();
  		func = psql_scan_slash_option(scan_state,
  									  OT_WHOLE_LINE, NULL, true);
! 		if (!func)
  		{
  			psql_error("function name is required\n");
  			status = PSQL_CMD_ERROR;
--- 1121,1133 ----
  		func_buf = createPQExpBuffer();
  		func = psql_scan_slash_option(scan_state,
  									  OT_WHOLE_LINE, NULL, true);
! 		if (pset.sversion < 80400)
! 		{
! 				psql_error("The server (version %d.%d) does not support showing function source.\n",
! 						   pset.sversion / 10000, (pset.sversion / 100) % 100);
! 				status = PSQL_CMD_ERROR;
! 		}
! 		else if (!func)
  		{
  			psql_error("function name is required\n");
  			status = PSQL_CMD_ERROR;
