diff --git a/src/backend/storage/file/fd.c b/src/backend/storage/file/fd.c
index 7077b75314ca1309ec0f725bd9af9c6c7d867598..ccf4df15a07092abad0d1bc833b3676ceb6d131c 100644
--- a/src/backend/storage/file/fd.c
+++ b/src/backend/storage/file/fd.c
@@ -2418,18 +2418,15 @@ pre_sync_fname(const char *fname, bool isdir, int elevel)
 	{
 		if (errno == EACCES || (isdir && errno == EISDIR))
 			return;
-
-#ifdef ETXTBSY
-		if (errno == ETXTBSY)
-			return;
-#endif
-
 		ereport(elevel,
 				(errcode_for_file_access(),
 				 errmsg("could not open file \"%s\": %m", fname)));
 		return;
 	}
 
+	/*
+	 * We ignore errors from pg_flush_data() because this is only a hint.
+	 */
 	(void) pg_flush_data(fd, 0, 0);
 
 	(void) close(fd);
@@ -2473,12 +2470,6 @@ fsync_fname_ext(const char *fname, bool isdir, int elevel)
 	{
 		if (errno == EACCES || (isdir && errno == EISDIR))
 			return;
-
-#ifdef ETXTBSY
-		if (errno == ETXTBSY)
-			return;
-#endif
-
 		ereport(elevel,
 				(errcode_for_file_access(),
 				 errmsg("could not open file \"%s\": %m", fname)));