diff --git a/src/backend/replication/basebackup.c b/src/backend/replication/basebackup.c
index 5cb395d818e511f62717405f47712f56f7c0a57d..de5fa2209bd632fb73d57bd8a5842db6f75f1c75 100644
--- a/src/backend/replication/basebackup.c
+++ b/src/backend/replication/basebackup.c
@@ -29,6 +29,7 @@
 #include "utils/builtins.h"
 #include "utils/elog.h"
 #include "utils/memutils.h"
+#include "utils/ps_status.h"
 
 static int64 sendDir(char *path, int basepathlen, bool sizeonly);
 static void sendFile(char *path, int basepathlen, struct stat * statbuf);
@@ -96,6 +97,15 @@ SendBaseBackup(const char *options)
 				(errcode(ERRCODE_PROTOCOL_VIOLATION),
 				 errmsg("invalid base backup options: %s", options)));
 
+	if (update_process_title)
+	{
+		char		activitymsg[50];
+
+		snprintf(activitymsg, sizeof(activitymsg), "sending backup \"%s\"",
+				 backup_label);
+		set_ps_display(activitymsg, false);
+	}
+
 	/* Make sure we can open the directory with tablespaces in it */
 	dir = AllocateDir("pg_tblspc");
 	if (!dir)