diff --git a/src/backend/commands/tablespace.c b/src/backend/commands/tablespace.c
index f7e9160..1478462 100644
--- a/src/backend/commands/tablespace.c
+++ b/src/backend/commands/tablespace.c
@@ -585,10 +585,15 @@ create_tablespace_directories(const char *location, const Oid tablespaceoid)
 					 InRecovery ? errhint("Create this directory for the tablespace before "
 										  "restarting the server.") : 0));
 		else
+		{
 			ereport(ERROR,
 					(errcode_for_file_access(),
 					 errmsg("could not set permissions on directory \"%s\": %m",
-							location)));
+							location),
+					 errhint("You might need to fix permissions on this "
+							 "directory or its parents or install the PostgreSQL "
+							 "system user as the owner of this directory.")));
+		}
 	}
 
 	if (InRecovery)
