diff --git a/src/bin/pg_dump/common.c b/src/bin/pg_dump/common.c
index 59f00740bfb..237b2fd0cda 100644
--- a/src/bin/pg_dump/common.c
+++ b/src/bin/pg_dump/common.c
@@ -89,7 +89,7 @@ static IndxInfo *findIndexByOid(Oid oid, DumpableObject **idxinfoindex,
  *	  Collect information about all potentially dumpable objects
  */
 TableInfo *
-getSchemaData(Archive *fout, int *numTablesPtr)
+getSchemaData(Archive *fout, int *numTablesPtr, bool dataOnly)
 {
 	TableInfo  *tblinfo;
 	TypeInfo   *typinfo;
@@ -235,11 +235,14 @@ getSchemaData(Archive *fout, int *numTablesPtr)
 	pg_log_info("reading partitioning data");
 	getPartitioningInfo(fout);
 
-	pg_log_info("reading indexes");
-	getIndexes(fout, tblinfo, numTables);
+	if (!dataOnly)
+	{
+		pg_log_info("reading indexes");
+		getIndexes(fout, tblinfo, numTables);
 
-	pg_log_info("flagging indexes in partitioned tables");
-	flagInhIndexes(fout, tblinfo, numTables);
+		pg_log_info("flagging indexes in partitioned tables");
+		flagInhIndexes(fout, tblinfo, numTables);
+	}
 
 	pg_log_info("reading extended statistics");
 	getExtendedStatistics(fout);
diff --git a/src/bin/pg_dump/pg_dump.c b/src/bin/pg_dump/pg_dump.c
index abefd108f8b..22d812f451d 100644
--- a/src/bin/pg_dump/pg_dump.c
+++ b/src/bin/pg_dump/pg_dump.c
@@ -859,7 +859,7 @@ main(int argc, char **argv)
 	 * Now scan the database and create DumpableObject structs for all the
 	 * objects we intend to dump.
 	 */
-	tblinfo = getSchemaData(fout, &numTables);
+	tblinfo = getSchemaData(fout, &numTables, dopt.dataOnly);
 
 	if (fout->remoteVersion < 80400)
 		guessConstraintInheritance(tblinfo, numTables);
diff --git a/src/bin/pg_dump/pg_dump.h b/src/bin/pg_dump/pg_dump.h
index 7fcc544b2dc..38b333eca7d 100644
--- a/src/bin/pg_dump/pg_dump.h
+++ b/src/bin/pg_dump/pg_dump.h
@@ -651,7 +651,7 @@ typedef struct _extensionMemberId
  *	common utility functions
  */
 
-extern TableInfo *getSchemaData(Archive *fout, int *numTablesPtr);
+extern TableInfo *getSchemaData(Archive *fout, int *numTablesPtr, bool dataOnly);
 
 extern void AssignDumpId(DumpableObject *dobj);
 extern DumpId createDumpId(void);
