aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/bin/pg_dump/pg_dump.c11
-rw-r--r--src/bin/pg_dump/pg_dump.h1
-rw-r--r--src/bin/pg_dump/pg_dump_sort.c28
3 files changed, 25 insertions, 15 deletions
diff --git a/src/bin/pg_dump/pg_dump.c b/src/bin/pg_dump/pg_dump.c
index 4da297f1d03..3485cabb434 100644
--- a/src/bin/pg_dump/pg_dump.c
+++ b/src/bin/pg_dump/pg_dump.c
@@ -2090,6 +2090,8 @@ makeTableDataInfo(DumpOptions *dopt, TableInfo *tbinfo, bool oids)
if (tbinfo->relkind == RELKIND_MATVIEW)
tdinfo->dobj.objType = DO_REFRESH_MATVIEW;
+ else if (tbinfo->relkind == RELKIND_SEQUENCE)
+ tdinfo->dobj.objType = DO_SEQUENCE_SET;
else
tdinfo->dobj.objType = DO_TABLE_DATA;
@@ -8498,11 +8500,11 @@ dumpDumpableObject(Archive *fout, DumpableObject *dobj)
case DO_TRANSFORM:
dumpTransform(fout, (TransformInfo *) dobj);
break;
+ case DO_SEQUENCE_SET:
+ dumpSequenceData(fout, (TableDataInfo *) dobj);
+ break;
case DO_TABLE_DATA:
- if (((TableDataInfo *) dobj)->tdtable->relkind == RELKIND_SEQUENCE)
- dumpSequenceData(fout, (TableDataInfo *) dobj);
- else
- dumpTableData(fout, (TableDataInfo *) dobj);
+ dumpTableData(fout, (TableDataInfo *) dobj);
break;
case DO_DUMMY_TYPE:
/* table rowtypes and array types are never dumped separately */
@@ -16226,6 +16228,7 @@ addBoundaryDependencies(DumpableObject **dobjs, int numObjs,
addObjectDependency(preDataBound, dobj->dumpId);
break;
case DO_TABLE_DATA:
+ case DO_SEQUENCE_SET:
case DO_BLOB_DATA:
/* Data objects: must come between the boundaries */
addObjectDependency(dobj, preDataBound->dumpId);
diff --git a/src/bin/pg_dump/pg_dump.h b/src/bin/pg_dump/pg_dump.h
index a60cf957335..642c4d5f7f9 100644
--- a/src/bin/pg_dump/pg_dump.h
+++ b/src/bin/pg_dump/pg_dump.h
@@ -63,6 +63,7 @@ typedef enum
DO_PROCLANG,
DO_CAST,
DO_TABLE_DATA,
+ DO_SEQUENCE_SET,
DO_DUMMY_TYPE,
DO_TSPARSER,
DO_TSDICT,
diff --git a/src/bin/pg_dump/pg_dump_sort.c b/src/bin/pg_dump/pg_dump_sort.c
index 195b84a0d40..5b96334f496 100644
--- a/src/bin/pg_dump/pg_dump_sort.c
+++ b/src/bin/pg_dump/pg_dump_sort.c
@@ -47,14 +47,15 @@ static const int dbObjectTypePriority[] =
11, /* DO_CONVERSION */
18, /* DO_TABLE */
20, /* DO_ATTRDEF */
- 27, /* DO_INDEX */
- 28, /* DO_RULE */
- 29, /* DO_TRIGGER */
- 26, /* DO_CONSTRAINT */
- 30, /* DO_FK_CONSTRAINT */
+ 28, /* DO_INDEX */
+ 29, /* DO_RULE */
+ 30, /* DO_TRIGGER */
+ 27, /* DO_CONSTRAINT */
+ 31, /* DO_FK_CONSTRAINT */
2, /* DO_PROCLANG */
10, /* DO_CAST */
23, /* DO_TABLE_DATA */
+ 24, /* DO_SEQUENCE_SET */
19, /* DO_DUMMY_TYPE */
12, /* DO_TSPARSER */
14, /* DO_TSDICT */
@@ -62,15 +63,15 @@ static const int dbObjectTypePriority[] =
15, /* DO_TSCONFIG */
16, /* DO_FDW */
17, /* DO_FOREIGN_SERVER */
- 31, /* DO_DEFAULT_ACL */
+ 32, /* DO_DEFAULT_ACL */
3, /* DO_TRANSFORM */
21, /* DO_BLOB */
- 24, /* DO_BLOB_DATA */
+ 25, /* DO_BLOB_DATA */
22, /* DO_PRE_DATA_BOUNDARY */
- 25, /* DO_POST_DATA_BOUNDARY */
- 32, /* DO_EVENT_TRIGGER */
- 33, /* DO_REFRESH_MATVIEW */
- 34 /* DO_POLICY */
+ 26, /* DO_POST_DATA_BOUNDARY */
+ 33, /* DO_EVENT_TRIGGER */
+ 34, /* DO_REFRESH_MATVIEW */
+ 35 /* DO_POLICY */
};
static DumpId preDataBoundId;
@@ -1345,6 +1346,11 @@ describeDumpableObject(DumpableObject *obj, char *buf, int bufsize)
"TABLE DATA %s (ID %d OID %u)",
obj->name, obj->dumpId, obj->catId.oid);
return;
+ case DO_SEQUENCE_SET:
+ snprintf(buf, bufsize,
+ "SEQUENCE SET %s (ID %d OID %u)",
+ obj->name, obj->dumpId, obj->catId.oid);
+ return;
case DO_DUMMY_TYPE:
snprintf(buf, bufsize,
"DUMMY TYPE %s (ID %d OID %u)",