summaryrefslogtreecommitdiff
path: root/src/bin/pg_dump/pg_dump.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/bin/pg_dump/pg_dump.c')
-rw-r--r--src/bin/pg_dump/pg_dump.c203
1 files changed, 89 insertions, 114 deletions
diff --git a/src/bin/pg_dump/pg_dump.c b/src/bin/pg_dump/pg_dump.c
index c8d01ed4a4..9c4e1dc32a 100644
--- a/src/bin/pg_dump/pg_dump.c
+++ b/src/bin/pg_dump/pg_dump.c
@@ -233,8 +233,8 @@ static void addBoundaryDependencies(DumpableObject **dobjs, int numObjs,
DumpableObject *boundaryObjs);
static void getDomainConstraints(Archive *fout, TypeInfo *tyinfo);
-static void getTableData(DumpOptions *dopt, TableInfo *tblinfo, int numTables, bool oids, char relkind);
-static void makeTableDataInfo(DumpOptions *dopt, TableInfo *tbinfo, bool oids);
+static void getTableData(DumpOptions *dopt, TableInfo *tblinfo, int numTables, char relkind);
+static void makeTableDataInfo(DumpOptions *dopt, TableInfo *tbinfo);
static void buildMatViewRefreshDependencies(Archive *fout);
static void getTableDataFKConstraints(void);
static char *format_function_arguments(FuncInfo *finfo, char *funcargs,
@@ -328,7 +328,6 @@ main(int argc, char **argv)
{"host", required_argument, NULL, 'h'},
{"jobs", 1, NULL, 'j'},
{"no-reconnect", no_argument, NULL, 'R'},
- {"oids", no_argument, NULL, 'o'},
{"no-owner", no_argument, NULL, 'O'},
{"port", required_argument, NULL, 'p'},
{"schema", required_argument, NULL, 'n'},
@@ -472,10 +471,6 @@ main(int argc, char **argv)
simple_string_list_append(&schema_exclude_patterns, optarg);
break;
- case 'o': /* Dump oids */
- dopt.oids = true;
- break;
-
case 'O': /* Don't reconnect to match owner */
dopt.outputNoOwner = 1;
break;
@@ -609,13 +604,6 @@ main(int argc, char **argv)
exit_nicely(1);
}
- if (dopt.dump_inserts && dopt.oids)
- {
- write_msg(NULL, "options --inserts/--column-inserts and -o/--oids cannot be used together\n");
- write_msg(NULL, "(The INSERT command cannot set OIDs.)\n");
- exit_nicely(1);
- }
-
if (dopt.if_exists && !dopt.outputClean)
exit_horribly(NULL, "option --if-exists requires option -c/--clean\n");
@@ -801,14 +789,14 @@ main(int argc, char **argv)
if (!dopt.schemaOnly)
{
- getTableData(&dopt, tblinfo, numTables, dopt.oids, 0);
+ getTableData(&dopt, tblinfo, numTables, 0);
buildMatViewRefreshDependencies(fout);
if (dopt.dataOnly)
getTableDataFKConstraints();
}
if (dopt.schemaOnly && dopt.sequence_data)
- getTableData(&dopt, tblinfo, numTables, dopt.oids, RELKIND_SEQUENCE);
+ getTableData(&dopt, tblinfo, numTables, RELKIND_SEQUENCE);
/*
* In binary-upgrade mode, we do not have to worry about the actual blob
@@ -963,7 +951,6 @@ help(const char *progname)
printf(_(" -E, --encoding=ENCODING dump the data in encoding ENCODING\n"));
printf(_(" -n, --schema=SCHEMA dump the named schema(s) only\n"));
printf(_(" -N, --exclude-schema=SCHEMA do NOT dump the named schema(s)\n"));
- printf(_(" -o, --oids include OIDs in dump\n"));
printf(_(" -O, --no-owner skip restoration of object ownership in\n"
" plain-text format\n"));
printf(_(" -s, --schema-only dump only the schema, no data\n"));
@@ -1738,8 +1725,6 @@ dumpTableData_copy(Archive *fout, void *dcontext)
TableDataInfo *tdinfo = (TableDataInfo *) dcontext;
TableInfo *tbinfo = tdinfo->tdtable;
const char *classname = tbinfo->dobj.name;
- const bool hasoids = tbinfo->hasoids;
- const bool oids = tdinfo->oids;
PQExpBuffer q = createPQExpBuffer();
/*
@@ -1765,13 +1750,7 @@ dumpTableData_copy(Archive *fout, void *dcontext)
*/
column_list = fmtCopyColumnList(tbinfo, clistBuf);
- if (oids && hasoids)
- {
- appendPQExpBuffer(q, "COPY %s %s WITH OIDS TO stdout;",
- fmtQualifiedDumpable(tbinfo),
- column_list);
- }
- else if (tdinfo->filtercond)
+ if (tdinfo->filtercond)
{
/* Note: this syntax is only supported in 8.2 and up */
appendPQExpBufferStr(q, "COPY (SELECT ");
@@ -2135,9 +2114,8 @@ dumpTableData(Archive *fout, TableDataInfo *tdinfo)
/* must use 2 steps here 'cause fmtId is nonreentrant */
appendPQExpBuffer(copyBuf, "COPY %s ",
copyFrom);
- appendPQExpBuffer(copyBuf, "%s %sFROM stdin;\n",
- fmtCopyColumnList(tbinfo, clistBuf),
- (tdinfo->oids && tbinfo->hasoids) ? "WITH OIDS " : "");
+ appendPQExpBuffer(copyBuf, "%s FROM stdin;\n",
+ fmtCopyColumnList(tbinfo, clistBuf));
copyStmt = copyBuf->data;
}
else
@@ -2159,7 +2137,7 @@ dumpTableData(Archive *fout, TableDataInfo *tdinfo)
te = ArchiveEntry(fout, tdinfo->dobj.catId, tdinfo->dobj.dumpId,
tbinfo->dobj.name, tbinfo->dobj.namespace->dobj.name,
NULL, tbinfo->rolname,
- false, "TABLE DATA", SECTION_DATA,
+ "TABLE DATA", SECTION_DATA,
"", "", copyStmt,
&(tbinfo->dobj.dumpId), 1,
dumpFn, tdinfo);
@@ -2210,7 +2188,6 @@ refreshMatViewData(Archive *fout, TableDataInfo *tdinfo)
tbinfo->dobj.namespace->dobj.name, /* Namespace */
NULL, /* Tablespace */
tbinfo->rolname, /* Owner */
- false, /* with oids */
"MATERIALIZED VIEW DATA", /* Desc */
SECTION_POST_DATA, /* Section */
q->data, /* Create */
@@ -2229,7 +2206,7 @@ refreshMatViewData(Archive *fout, TableDataInfo *tdinfo)
* set up dumpable objects representing the contents of tables
*/
static void
-getTableData(DumpOptions *dopt, TableInfo *tblinfo, int numTables, bool oids, char relkind)
+getTableData(DumpOptions *dopt, TableInfo *tblinfo, int numTables, char relkind)
{
int i;
@@ -2237,7 +2214,7 @@ getTableData(DumpOptions *dopt, TableInfo *tblinfo, int numTables, bool oids, ch
{
if (tblinfo[i].dobj.dump & DUMP_COMPONENT_DATA &&
(!relkind || tblinfo[i].relkind == relkind))
- makeTableDataInfo(dopt, &(tblinfo[i]), oids);
+ makeTableDataInfo(dopt, &(tblinfo[i]));
}
}
@@ -2248,7 +2225,7 @@ getTableData(DumpOptions *dopt, TableInfo *tblinfo, int numTables, bool oids, ch
* table data; the "dump" flag in such objects isn't used.
*/
static void
-makeTableDataInfo(DumpOptions *dopt, TableInfo *tbinfo, bool oids)
+makeTableDataInfo(DumpOptions *dopt, TableInfo *tbinfo)
{
TableDataInfo *tdinfo;
@@ -2299,7 +2276,6 @@ makeTableDataInfo(DumpOptions *dopt, TableInfo *tbinfo, bool oids)
tdinfo->dobj.name = tbinfo->dobj.name;
tdinfo->dobj.namespace = tbinfo->dobj.namespace;
tdinfo->tdtable = tbinfo;
- tdinfo->oids = oids;
tdinfo->filtercond = NULL; /* might get set later */
addObjectDependency(&tdinfo->dobj, tbinfo->dobj.dumpId);
@@ -2750,7 +2726,6 @@ dumpDatabase(Archive *fout)
NULL, /* Namespace */
NULL, /* Tablespace */
dba, /* Owner */
- false, /* with oids */
"DATABASE", /* Desc */
SECTION_PRE_DATA, /* Section */
creaQry->data, /* Create */
@@ -2788,7 +2763,7 @@ dumpDatabase(Archive *fout)
ArchiveEntry(fout, nilCatalogId, createDumpId(),
labelq->data, NULL, NULL, dba,
- false, "COMMENT", SECTION_NONE,
+ "COMMENT", SECTION_NONE,
dbQry->data, "", NULL,
&(dbDumpId), 1,
NULL, NULL);
@@ -2815,7 +2790,7 @@ dumpDatabase(Archive *fout)
if (seclabelQry->len > 0)
ArchiveEntry(fout, nilCatalogId, createDumpId(),
labelq->data, NULL, NULL, dba,
- false, "SECURITY LABEL", SECTION_NONE,
+ "SECURITY LABEL", SECTION_NONE,
seclabelQry->data, "", NULL,
&(dbDumpId), 1,
NULL, NULL);
@@ -2885,7 +2860,7 @@ dumpDatabase(Archive *fout)
if (creaQry->len > 0)
ArchiveEntry(fout, nilCatalogId, createDumpId(),
datname, NULL, NULL, dba,
- false, "DATABASE PROPERTIES", SECTION_PRE_DATA,
+ "DATABASE PROPERTIES", SECTION_PRE_DATA,
creaQry->data, delQry->data, NULL,
&(dbDumpId), 1,
NULL, NULL);
@@ -2930,7 +2905,7 @@ dumpDatabase(Archive *fout)
LargeObjectRelationId);
ArchiveEntry(fout, nilCatalogId, createDumpId(),
"pg_largeobject", NULL, NULL, "",
- false, "pg_largeobject", SECTION_PRE_DATA,
+ "pg_largeobject", SECTION_PRE_DATA,
loOutQry->data, "", NULL,
NULL, 0,
NULL, NULL);
@@ -2970,7 +2945,7 @@ dumpDatabase(Archive *fout)
LargeObjectMetadataRelationId);
ArchiveEntry(fout, nilCatalogId, createDumpId(),
"pg_largeobject_metadata", NULL, NULL, "",
- false, "pg_largeobject_metadata", SECTION_PRE_DATA,
+ "pg_largeobject_metadata", SECTION_PRE_DATA,
loOutQry->data, "", NULL,
NULL, 0,
NULL, NULL);
@@ -3081,7 +3056,7 @@ dumpEncoding(Archive *AH)
ArchiveEntry(AH, nilCatalogId, createDumpId(),
"ENCODING", NULL, NULL, "",
- false, "ENCODING", SECTION_PRE_DATA,
+ "ENCODING", SECTION_PRE_DATA,
qry->data, "", NULL,
NULL, 0,
NULL, NULL);
@@ -3108,7 +3083,7 @@ dumpStdStrings(Archive *AH)
ArchiveEntry(AH, nilCatalogId, createDumpId(),
"STDSTRINGS", NULL, NULL, "",
- false, "STDSTRINGS", SECTION_PRE_DATA,
+ "STDSTRINGS", SECTION_PRE_DATA,
qry->data, "", NULL,
NULL, 0,
NULL, NULL);
@@ -3164,7 +3139,7 @@ dumpSearchPath(Archive *AH)
ArchiveEntry(AH, nilCatalogId, createDumpId(),
"SEARCHPATH", NULL, NULL, "",
- false, "SEARCHPATH", SECTION_PRE_DATA,
+ "SEARCHPATH", SECTION_PRE_DATA,
qry->data, "", NULL,
NULL, 0,
NULL, NULL);
@@ -3345,7 +3320,7 @@ dumpBlob(Archive *fout, BlobInfo *binfo)
ArchiveEntry(fout, binfo->dobj.catId, binfo->dobj.dumpId,
binfo->dobj.name,
NULL, NULL,
- binfo->rolname, false,
+ binfo->rolname,
"BLOB", SECTION_PRE_DATA,
cquery->data, dquery->data, NULL,
NULL, 0,
@@ -3646,7 +3621,7 @@ dumpPolicy(Archive *fout, PolicyInfo *polinfo)
polinfo->dobj.name,
polinfo->dobj.namespace->dobj.name,
NULL,
- tbinfo->rolname, false,
+ tbinfo->rolname,
"ROW SECURITY", SECTION_POST_DATA,
query->data, "", NULL,
&(tbinfo->dobj.dumpId), 1,
@@ -3702,7 +3677,7 @@ dumpPolicy(Archive *fout, PolicyInfo *polinfo)
tag,
polinfo->dobj.namespace->dobj.name,
NULL,
- tbinfo->rolname, false,
+ tbinfo->rolname,
"POLICY", SECTION_POST_DATA,
query->data, delqry->data, NULL,
NULL, 0,
@@ -3876,7 +3851,7 @@ dumpPublication(Archive *fout, PublicationInfo *pubinfo)
pubinfo->dobj.name,
NULL,
NULL,
- pubinfo->rolname, false,
+ pubinfo->rolname,
"PUBLICATION", SECTION_POST_DATA,
query->data, delq->data, NULL,
NULL, 0,
@@ -4019,7 +3994,7 @@ dumpPublicationTable(Archive *fout, PublicationRelInfo *pubrinfo)
tag,
tbinfo->dobj.namespace->dobj.name,
NULL,
- "", false,
+ "",
"PUBLICATION TABLE", SECTION_POST_DATA,
query->data, "", NULL,
NULL, 0,
@@ -4212,7 +4187,7 @@ dumpSubscription(Archive *fout, SubscriptionInfo *subinfo)
subinfo->dobj.name,
NULL,
NULL,
- subinfo->rolname, false,
+ subinfo->rolname,
"SUBSCRIPTION", SECTION_POST_DATA,
query->data, delq->data, NULL,
NULL, 0,
@@ -5921,6 +5896,7 @@ getTables(Archive *fout, int *numTables)
char *partkeydef = "NULL";
char *ispartition = "false";
char *partbound = "NULL";
+ char *relhasoids = "c.relhasoids";
PQExpBuffer acl_subquery = createPQExpBuffer();
PQExpBuffer racl_subquery = createPQExpBuffer();
@@ -5944,6 +5920,10 @@ getTables(Archive *fout, int *numTables)
partbound = "pg_get_expr(c.relpartbound, c.oid)";
}
+ /* In PG12 upwards WITH OIDS does not exist anymore. */
+ if (fout->remoteVersion >= 120000)
+ relhasoids = "'f'::bool";
+
/*
* Left join to pick up dependency info linking sequences to their
* owning column, if any (note this dependency is AUTO as of 8.2)
@@ -5969,7 +5949,7 @@ getTables(Archive *fout, int *numTables)
"c.relkind, c.relnamespace, "
"(%s c.relowner) AS rolname, "
"c.relchecks, c.relhastriggers, "
- "c.relhasindex, c.relhasrules, c.relhasoids, "
+ "c.relhasindex, c.relhasrules, %s AS relhasoids, "
"c.relrowsecurity, c.relforcerowsecurity, "
"c.relfrozenxid, c.relminmxid, tc.oid AS toid, "
"tc.relfrozenxid AS tfrozenxid, "
@@ -6017,6 +5997,7 @@ getTables(Archive *fout, int *numTables)
initacl_subquery->data,
initracl_subquery->data,
username_subquery,
+ relhasoids,
RELKIND_SEQUENCE,
attacl_subquery->data,
attracl_subquery->data,
@@ -9416,7 +9397,7 @@ dumpComment(Archive *fout, const char *type, const char *name,
*/
ArchiveEntry(fout, nilCatalogId, createDumpId(),
tag->data, namespace, NULL, owner,
- false, "COMMENT", SECTION_NONE,
+ "COMMENT", SECTION_NONE,
query->data, "", NULL,
&(dumpId), 1,
NULL, NULL);
@@ -9484,7 +9465,7 @@ dumpTableComment(Archive *fout, TableInfo *tbinfo,
tag->data,
tbinfo->dobj.namespace->dobj.name,
NULL, tbinfo->rolname,
- false, "COMMENT", SECTION_NONE,
+ "COMMENT", SECTION_NONE,
query->data, "", NULL,
&(tbinfo->dobj.dumpId), 1,
NULL, NULL);
@@ -9508,7 +9489,7 @@ dumpTableComment(Archive *fout, TableInfo *tbinfo,
tag->data,
tbinfo->dobj.namespace->dobj.name,
NULL, tbinfo->rolname,
- false, "COMMENT", SECTION_NONE,
+ "COMMENT", SECTION_NONE,
query->data, "", NULL,
&(tbinfo->dobj.dumpId), 1,
NULL, NULL);
@@ -9789,7 +9770,7 @@ dumpDumpableObject(Archive *fout, DumpableObject *dobj)
te = ArchiveEntry(fout, dobj->catId, dobj->dumpId,
dobj->name, NULL, NULL, "",
- false, "BLOBS", SECTION_DATA,
+ "BLOBS", SECTION_DATA,
"", "", NULL,
NULL, 0,
dumpBlobs, NULL);
@@ -9863,7 +9844,7 @@ dumpNamespace(Archive *fout, NamespaceInfo *nspinfo)
nspinfo->dobj.name,
NULL, NULL,
nspinfo->rolname,
- false, "SCHEMA", SECTION_PRE_DATA,
+ "SCHEMA", SECTION_PRE_DATA,
q->data, delq->data, NULL,
NULL, 0,
NULL, NULL);
@@ -9999,7 +9980,7 @@ dumpExtension(Archive *fout, ExtensionInfo *extinfo)
extinfo->dobj.name,
NULL, NULL,
"",
- false, "EXTENSION", SECTION_PRE_DATA,
+ "EXTENSION", SECTION_PRE_DATA,
q->data, delq->data, NULL,
NULL, 0,
NULL, NULL);
@@ -10149,7 +10130,7 @@ dumpEnumType(Archive *fout, TypeInfo *tyinfo)
tyinfo->dobj.name,
tyinfo->dobj.namespace->dobj.name,
NULL,
- tyinfo->rolname, false,
+ tyinfo->rolname,
"TYPE", SECTION_PRE_DATA,
q->data, delq->data, NULL,
NULL, 0,
@@ -10276,7 +10257,7 @@ dumpRangeType(Archive *fout, TypeInfo *tyinfo)
tyinfo->dobj.name,
tyinfo->dobj.namespace->dobj.name,
NULL,
- tyinfo->rolname, false,
+ tyinfo->rolname,
"TYPE", SECTION_PRE_DATA,
q->data, delq->data, NULL,
NULL, 0,
@@ -10349,7 +10330,7 @@ dumpUndefinedType(Archive *fout, TypeInfo *tyinfo)
tyinfo->dobj.name,
tyinfo->dobj.namespace->dobj.name,
NULL,
- tyinfo->rolname, false,
+ tyinfo->rolname,
"TYPE", SECTION_PRE_DATA,
q->data, delq->data, NULL,
NULL, 0,
@@ -10631,7 +10612,7 @@ dumpBaseType(Archive *fout, TypeInfo *tyinfo)
tyinfo->dobj.name,
tyinfo->dobj.namespace->dobj.name,
NULL,
- tyinfo->rolname, false,
+ tyinfo->rolname,
"TYPE", SECTION_PRE_DATA,
q->data, delq->data, NULL,
NULL, 0,
@@ -10788,7 +10769,7 @@ dumpDomain(Archive *fout, TypeInfo *tyinfo)
tyinfo->dobj.name,
tyinfo->dobj.namespace->dobj.name,
NULL,
- tyinfo->rolname, false,
+ tyinfo->rolname,
"DOMAIN", SECTION_PRE_DATA,
q->data, delq->data, NULL,
NULL, 0,
@@ -11010,7 +10991,7 @@ dumpCompositeType(Archive *fout, TypeInfo *tyinfo)
tyinfo->dobj.name,
tyinfo->dobj.namespace->dobj.name,
NULL,
- tyinfo->rolname, false,
+ tyinfo->rolname,
"TYPE", SECTION_PRE_DATA,
q->data, delq->data, NULL,
NULL, 0,
@@ -11146,7 +11127,7 @@ dumpCompositeTypeColComments(Archive *fout, TypeInfo *tyinfo)
target->data,
tyinfo->dobj.namespace->dobj.name,
NULL, tyinfo->rolname,
- false, "COMMENT", SECTION_NONE,
+ "COMMENT", SECTION_NONE,
query->data, "", NULL,
&(tyinfo->dobj.dumpId), 1,
NULL, NULL);
@@ -11201,7 +11182,7 @@ dumpShellType(Archive *fout, ShellTypeInfo *stinfo)
stinfo->dobj.name,
stinfo->dobj.namespace->dobj.name,
NULL,
- stinfo->baseType->rolname, false,
+ stinfo->baseType->rolname,
"SHELL TYPE", SECTION_PRE_DATA,
q->data, "", NULL,
NULL, 0,
@@ -11312,7 +11293,7 @@ dumpProcLang(Archive *fout, ProcLangInfo *plang)
ArchiveEntry(fout, plang->dobj.catId, plang->dobj.dumpId,
plang->dobj.name,
NULL, NULL, plang->lanowner,
- false, "PROCEDURAL LANGUAGE", SECTION_PRE_DATA,
+ "PROCEDURAL LANGUAGE", SECTION_PRE_DATA,
defqry->data, delqry->data, NULL,
NULL, 0,
NULL, NULL);
@@ -11983,7 +11964,7 @@ dumpFunc(Archive *fout, FuncInfo *finfo)
funcsig_tag,
finfo->dobj.namespace->dobj.name,
NULL,
- finfo->rolname, false,
+ finfo->rolname,
keyword, SECTION_PRE_DATA,
q->data, delqry->data, NULL,
NULL, 0,
@@ -12117,7 +12098,7 @@ dumpCast(Archive *fout, CastInfo *cast)
ArchiveEntry(fout, cast->dobj.catId, cast->dobj.dumpId,
labelq->data,
NULL, NULL, "",
- false, "CAST", SECTION_PRE_DATA,
+ "CAST", SECTION_PRE_DATA,
defqry->data, delqry->data, NULL,
NULL, 0,
NULL, NULL);
@@ -12245,7 +12226,7 @@ dumpTransform(Archive *fout, TransformInfo *transform)
ArchiveEntry(fout, transform->dobj.catId, transform->dobj.dumpId,
labelq->data,
NULL, NULL, "",
- false, "TRANSFORM", SECTION_PRE_DATA,
+ "TRANSFORM", SECTION_PRE_DATA,
defqry->data, delqry->data, NULL,
transform->dobj.dependencies, transform->dobj.nDeps,
NULL, NULL);
@@ -12460,7 +12441,7 @@ dumpOpr(Archive *fout, OprInfo *oprinfo)
oprinfo->dobj.namespace->dobj.name,
NULL,
oprinfo->rolname,
- false, "OPERATOR", SECTION_PRE_DATA,
+ "OPERATOR", SECTION_PRE_DATA,
q->data, delq->data, NULL,
NULL, 0,
NULL, NULL);
@@ -12630,7 +12611,7 @@ dumpAccessMethod(Archive *fout, AccessMethodInfo *aminfo)
NULL,
NULL,
"",
- false, "ACCESS METHOD", SECTION_PRE_DATA,
+ "ACCESS METHOD", SECTION_PRE_DATA,
q->data, delq->data, NULL,
NULL, 0,
NULL, NULL);
@@ -12996,7 +12977,7 @@ dumpOpclass(Archive *fout, OpclassInfo *opcinfo)
opcinfo->dobj.namespace->dobj.name,
NULL,
opcinfo->rolname,
- false, "OPERATOR CLASS", SECTION_PRE_DATA,
+ "OPERATOR CLASS", SECTION_PRE_DATA,
q->data, delq->data, NULL,
NULL, 0,
NULL, NULL);
@@ -13263,7 +13244,7 @@ dumpOpfamily(Archive *fout, OpfamilyInfo *opfinfo)
opfinfo->dobj.namespace->dobj.name,
NULL,
opfinfo->rolname,
- false, "OPERATOR FAMILY", SECTION_PRE_DATA,
+ "OPERATOR FAMILY", SECTION_PRE_DATA,
q->data, delq->data, NULL,
NULL, 0,
NULL, NULL);
@@ -13406,7 +13387,7 @@ dumpCollation(Archive *fout, CollInfo *collinfo)
collinfo->dobj.namespace->dobj.name,
NULL,
collinfo->rolname,
- false, "COLLATION", SECTION_PRE_DATA,
+ "COLLATION", SECTION_PRE_DATA,
q->data, delq->data, NULL,
NULL, 0,
NULL, NULL);
@@ -13501,7 +13482,7 @@ dumpConversion(Archive *fout, ConvInfo *convinfo)
convinfo->dobj.namespace->dobj.name,
NULL,
convinfo->rolname,
- false, "CONVERSION", SECTION_PRE_DATA,
+ "CONVERSION", SECTION_PRE_DATA,
q->data, delq->data, NULL,
NULL, 0,
NULL, NULL);
@@ -13990,7 +13971,7 @@ dumpAgg(Archive *fout, AggInfo *agginfo)
agginfo->aggfn.dobj.namespace->dobj.name,
NULL,
agginfo->aggfn.rolname,
- false, "AGGREGATE", SECTION_PRE_DATA,
+ "AGGREGATE", SECTION_PRE_DATA,
q->data, delq->data, NULL,
NULL, 0,
NULL, NULL);
@@ -14088,7 +14069,7 @@ dumpTSParser(Archive *fout, TSParserInfo *prsinfo)
prsinfo->dobj.namespace->dobj.name,
NULL,
"",
- false, "TEXT SEARCH PARSER", SECTION_PRE_DATA,
+ "TEXT SEARCH PARSER", SECTION_PRE_DATA,
q->data, delq->data, NULL,
NULL, 0,
NULL, NULL);
@@ -14168,7 +14149,7 @@ dumpTSDictionary(Archive *fout, TSDictInfo *dictinfo)
dictinfo->dobj.namespace->dobj.name,
NULL,
dictinfo->rolname,
- false, "TEXT SEARCH DICTIONARY", SECTION_PRE_DATA,
+ "TEXT SEARCH DICTIONARY", SECTION_PRE_DATA,
q->data, delq->data, NULL,
NULL, 0,
NULL, NULL);
@@ -14229,7 +14210,7 @@ dumpTSTemplate(Archive *fout, TSTemplateInfo *tmplinfo)
tmplinfo->dobj.namespace->dobj.name,
NULL,
"",
- false, "TEXT SEARCH TEMPLATE", SECTION_PRE_DATA,
+ "TEXT SEARCH TEMPLATE", SECTION_PRE_DATA,
q->data, delq->data, NULL,
NULL, 0,
NULL, NULL);
@@ -14349,7 +14330,7 @@ dumpTSConfig(Archive *fout, TSConfigInfo *cfginfo)
cfginfo->dobj.namespace->dobj.name,
NULL,
cfginfo->rolname,
- false, "TEXT SEARCH CONFIGURATION", SECTION_PRE_DATA,
+ "TEXT SEARCH CONFIGURATION", SECTION_PRE_DATA,
q->data, delq->data, NULL,
NULL, 0,
NULL, NULL);
@@ -14415,7 +14396,7 @@ dumpForeignDataWrapper(Archive *fout, FdwInfo *fdwinfo)
NULL,
NULL,
fdwinfo->rolname,
- false, "FOREIGN DATA WRAPPER", SECTION_PRE_DATA,
+ "FOREIGN DATA WRAPPER", SECTION_PRE_DATA,
q->data, delq->data, NULL,
NULL, 0,
NULL, NULL);
@@ -14506,7 +14487,7 @@ dumpForeignServer(Archive *fout, ForeignServerInfo *srvinfo)
NULL,
NULL,
srvinfo->rolname,
- false, "SERVER", SECTION_PRE_DATA,
+ "SERVER", SECTION_PRE_DATA,
q->data, delq->data, NULL,
NULL, 0,
NULL, NULL);
@@ -14623,7 +14604,7 @@ dumpUserMappings(Archive *fout,
tag->data,
namespace,
NULL,
- owner, false,
+ owner,
"USER MAPPING", SECTION_PRE_DATA,
q->data, delq->data, NULL,
&dumpId, 1,
@@ -14703,7 +14684,7 @@ dumpDefaultACL(Archive *fout, DefaultACLInfo *daclinfo)
daclinfo->dobj.namespace ? daclinfo->dobj.namespace->dobj.name : NULL,
NULL,
daclinfo->defaclrole,
- false, "DEFAULT ACL", SECTION_POST_DATA,
+ "DEFAULT ACL", SECTION_POST_DATA,
q->data, "", NULL,
NULL, 0,
NULL, NULL);
@@ -14801,7 +14782,7 @@ dumpACL(Archive *fout, CatalogId objCatId, DumpId objDumpId,
tag->data, nspname,
NULL,
owner ? owner : "",
- false, "ACL", SECTION_NONE,
+ "ACL", SECTION_NONE,
sql->data, "", NULL,
&(objDumpId), 1,
NULL, NULL);
@@ -14887,7 +14868,7 @@ dumpSecLabel(Archive *fout, const char *type, const char *name,
appendPQExpBuffer(tag, "%s %s", type, name);
ArchiveEntry(fout, nilCatalogId, createDumpId(),
tag->data, namespace, NULL, owner,
- false, "SECURITY LABEL", SECTION_NONE,
+ "SECURITY LABEL", SECTION_NONE,
query->data, "", NULL,
&(dumpId), 1,
NULL, NULL);
@@ -14969,7 +14950,7 @@ dumpTableSecLabel(Archive *fout, TableInfo *tbinfo, const char *reltypename)
target->data,
tbinfo->dobj.namespace->dobj.name,
NULL, tbinfo->rolname,
- false, "SECURITY LABEL", SECTION_NONE,
+ "SECURITY LABEL", SECTION_NONE,
query->data, "", NULL,
&(tbinfo->dobj.dumpId), 1,
NULL, NULL);
@@ -15371,6 +15352,12 @@ dumpTableSchema(Archive *fout, TableInfo *tbinfo)
qrelname = pg_strdup(fmtId(tbinfo->dobj.name));
qualrelname = pg_strdup(fmtQualifiedDumpable(tbinfo));
+
+ if (tbinfo->hasoids)
+ write_msg(NULL,
+ "WARNING: WITH OIDS is not supported anymore (table \"%s\")\n",
+ qrelname);
+
if (dopt->binary_upgrade)
binary_upgrade_set_type_oids_by_rel_oid(fout, q,
tbinfo->dobj.catId.oid);
@@ -16031,10 +16018,6 @@ dumpTableSchema(Archive *fout, TableInfo *tbinfo)
}
}
- if (tbinfo->relkind == RELKIND_FOREIGN_TABLE && tbinfo->hasoids)
- appendPQExpBuffer(q, "\nALTER TABLE ONLY %s SET WITH OIDS;\n",
- qualrelname);
-
if (tbinfo->forcerowsec)
appendPQExpBuffer(q, "\nALTER TABLE ONLY %s FORCE ROW LEVEL SECURITY;\n",
qualrelname);
@@ -16050,7 +16033,6 @@ dumpTableSchema(Archive *fout, TableInfo *tbinfo)
tbinfo->dobj.namespace->dobj.name,
(tbinfo->relkind == RELKIND_VIEW) ? NULL : tbinfo->reltablespace,
tbinfo->rolname,
- (strcmp(reltypename, "TABLE") == 0) ? tbinfo->hasoids : false,
reltypename,
tbinfo->postponed_def ?
SECTION_POST_DATA : SECTION_PRE_DATA,
@@ -16131,7 +16113,7 @@ dumpAttrDef(Archive *fout, AttrDefInfo *adinfo)
tbinfo->dobj.namespace->dobj.name,
NULL,
tbinfo->rolname,
- false, "DEFAULT", SECTION_PRE_DATA,
+ "DEFAULT", SECTION_PRE_DATA,
q->data, delq->data, NULL,
NULL, 0,
NULL, NULL);
@@ -16158,8 +16140,6 @@ getAttrName(int attrnum, TableInfo *tblInfo)
{
case SelfItemPointerAttributeNumber:
return "ctid";
- case ObjectIdAttributeNumber:
- return "oid";
case MinTransactionIdAttributeNumber:
return "xmin";
case MinCommandIdAttributeNumber:
@@ -16248,7 +16228,7 @@ dumpIndex(Archive *fout, IndxInfo *indxinfo)
indxinfo->dobj.name,
tbinfo->dobj.namespace->dobj.name,
indxinfo->tablespace,
- tbinfo->rolname, false,
+ tbinfo->rolname,
"INDEX", SECTION_POST_DATA,
q->data, delq->data, NULL,
NULL, 0,
@@ -16293,7 +16273,7 @@ dumpIndexAttach(Archive *fout, IndexAttachInfo *attachinfo)
attachinfo->dobj.namespace->dobj.name,
NULL,
"",
- false, "INDEX ATTACH", SECTION_POST_DATA,
+ "INDEX ATTACH", SECTION_POST_DATA,
q->data, "", NULL,
NULL, 0,
NULL, NULL);
@@ -16347,7 +16327,7 @@ dumpStatisticsExt(Archive *fout, StatsExtInfo *statsextinfo)
statsextinfo->dobj.name,
statsextinfo->dobj.namespace->dobj.name,
NULL,
- statsextinfo->rolname, false,
+ statsextinfo->rolname,
"STATISTICS", SECTION_POST_DATA,
q->data, delq->data, NULL,
NULL, 0,
@@ -16508,7 +16488,7 @@ dumpConstraint(Archive *fout, ConstraintInfo *coninfo)
tag,
tbinfo->dobj.namespace->dobj.name,
indxinfo->tablespace,
- tbinfo->rolname, false,
+ tbinfo->rolname,
"CONSTRAINT", SECTION_POST_DATA,
q->data, delq->data, NULL,
NULL, 0,
@@ -16548,7 +16528,7 @@ dumpConstraint(Archive *fout, ConstraintInfo *coninfo)
tag,
tbinfo->dobj.namespace->dobj.name,
NULL,
- tbinfo->rolname, false,
+ tbinfo->rolname,
"FK CONSTRAINT", SECTION_POST_DATA,
q->data, delq->data, NULL,
NULL, 0,
@@ -16580,7 +16560,7 @@ dumpConstraint(Archive *fout, ConstraintInfo *coninfo)
tag,
tbinfo->dobj.namespace->dobj.name,
NULL,
- tbinfo->rolname, false,
+ tbinfo->rolname,
"CHECK CONSTRAINT", SECTION_POST_DATA,
q->data, delq->data, NULL,
NULL, 0,
@@ -16613,7 +16593,7 @@ dumpConstraint(Archive *fout, ConstraintInfo *coninfo)
tag,
tyinfo->dobj.namespace->dobj.name,
NULL,
- tyinfo->rolname, false,
+ tyinfo->rolname,
"CHECK CONSTRAINT", SECTION_POST_DATA,
q->data, delq->data, NULL,
NULL, 0,
@@ -16888,7 +16868,7 @@ dumpSequence(Archive *fout, TableInfo *tbinfo)
tbinfo->dobj.namespace->dobj.name,
NULL,
tbinfo->rolname,
- false, "SEQUENCE", SECTION_PRE_DATA,
+ "SEQUENCE", SECTION_PRE_DATA,
query->data, delqry->data, NULL,
NULL, 0,
NULL, NULL);
@@ -16929,7 +16909,7 @@ dumpSequence(Archive *fout, TableInfo *tbinfo)
tbinfo->dobj.namespace->dobj.name,
NULL,
tbinfo->rolname,
- false, "SEQUENCE OWNED BY", SECTION_PRE_DATA,
+ "SEQUENCE OWNED BY", SECTION_PRE_DATA,
query->data, "", NULL,
&(tbinfo->dobj.dumpId), 1,
NULL, NULL);
@@ -16997,7 +16977,7 @@ dumpSequenceData(Archive *fout, TableDataInfo *tdinfo)
tbinfo->dobj.namespace->dobj.name,
NULL,
tbinfo->rolname,
- false, "SEQUENCE SET", SECTION_DATA,
+ "SEQUENCE SET", SECTION_DATA,
query->data, "", NULL,
&(tbinfo->dobj.dumpId), 1,
NULL, NULL);
@@ -17195,7 +17175,7 @@ dumpTrigger(Archive *fout, TriggerInfo *tginfo)
tag,
tbinfo->dobj.namespace->dobj.name,
NULL,
- tbinfo->rolname, false,
+ tbinfo->rolname,
"TRIGGER", SECTION_POST_DATA,
query->data, delqry->data, NULL,
NULL, 0,
@@ -17282,7 +17262,7 @@ dumpEventTrigger(Archive *fout, EventTriggerInfo *evtinfo)
if (evtinfo->dobj.dump & DUMP_COMPONENT_DEFINITION)
ArchiveEntry(fout, evtinfo->dobj.catId, evtinfo->dobj.dumpId,
evtinfo->dobj.name, NULL, NULL,
- evtinfo->evtowner, false,
+ evtinfo->evtowner,
"EVENT TRIGGER", SECTION_POST_DATA,
query->data, delqry->data, NULL,
NULL, 0,
@@ -17442,7 +17422,7 @@ dumpRule(Archive *fout, RuleInfo *rinfo)
tag,
tbinfo->dobj.namespace->dobj.name,
NULL,
- tbinfo->rolname, false,
+ tbinfo->rolname,
"RULE", SECTION_POST_DATA,
cmd->data, delcmd->data, NULL,
NULL, 0,
@@ -17662,12 +17642,7 @@ processExtensionTables(Archive *fout, ExtensionInfo extinfo[],
if (dumpobj)
{
- /*
- * Note: config tables are dumped without OIDs regardless
- * of the --oids setting. This is because row filtering
- * conditions aren't compatible with dumping OIDs.
- */
- makeTableDataInfo(dopt, configtbl, false);
+ makeTableDataInfo(dopt, configtbl);
if (configtbl->dataObj != NULL)
{
if (strlen(extconditionarray[j]) > 0)