pg_dump_data_only_no_index_master.patch
text/x-patch
Filename: pg_dump_data_only_no_index_master.patch
Type: text/x-patch
Part: 0
Patch
Same data as JSON:
GET /api/v1/attachments/:id/patch
the parsed metadata as JSON — format, series position, per-file stats; never the diff bytes.
API reference →
Format: unified
| File | + | − |
|---|---|---|
| src/bin/pg_dump/common.c | 8 | 5 |
| src/bin/pg_dump/pg_dump.c | 1 | 1 |
| src/bin/pg_dump/pg_dump.h | 1 | 1 |
diff --git a/src/bin/pg_dump/common.c b/src/bin/pg_dump/common.c
index a1976fae607..471e62da735 100644
--- a/src/bin/pg_dump/common.c
+++ b/src/bin/pg_dump/common.c
@@ -95,7 +95,7 @@ static IndxInfo *findIndexByOid(Oid oid);
* Collect information about all potentially dumpable objects
*/
TableInfo *
-getSchemaData(Archive *fout, int *numTablesPtr)
+getSchemaData(Archive *fout, int *numTablesPtr, bool dataOnly)
{
TableInfo *tblinfo;
ExtensionInfo *extinfo;
@@ -211,11 +211,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 641bece12c7..ef8bd786371 100644
--- a/src/bin/pg_dump/pg_dump.c
+++ b/src/bin/pg_dump/pg_dump.c
@@ -1090,7 +1090,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, data_only);
if (dopt.dumpData)
{
diff --git a/src/bin/pg_dump/pg_dump.h b/src/bin/pg_dump/pg_dump.h
index fa6d1a510f7..83e097404a3 100644
--- a/src/bin/pg_dump/pg_dump.h
+++ b/src/bin/pg_dump/pg_dump.h
@@ -750,7 +750,7 @@ typedef struct _SubRelInfo
* 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 void recordAdditionalCatalogID(CatalogId catId, DumpableObject *dobj);