diff --git a/src/bin/pg_dump/pg_backup_tar.c b/src/bin/pg_dump/pg_backup_tar.c
index b5ba3b46dd..73ac5b82b7 100644
--- a/src/bin/pg_dump/pg_backup_tar.c
+++ b/src/bin/pg_dump/pg_backup_tar.c
@@ -341,7 +341,7 @@ tarOpen(ArchiveHandle *AH, const char *filename, char mode)
 		 * might retain the data but forget tmpfile()'s unlink().  If so, the
 		 * file mode protects confidentiality of the data written.
 		 */
-		old_umask = umask(S_IRWXG | S_IRWXO);
+		old_umask = umask(S_IRWXU | S_IRWXG | S_IRWXO);
 
 #ifndef WIN32
 		tm->tmpFH = tmpfile();
