|
|
|
|
@ -12,7 +12,7 @@ |
|
|
|
|
* by PostgreSQL |
|
|
|
|
* |
|
|
|
|
* IDENTIFICATION |
|
|
|
|
* $PostgreSQL: pgsql/src/bin/pg_dump/pg_dump.c,v 1.391 2004/11/05 19:16:19 tgl Exp $ |
|
|
|
|
* $PostgreSQL: pgsql/src/bin/pg_dump/pg_dump.c,v 1.392 2004/11/06 19:36:02 tgl Exp $ |
|
|
|
|
* |
|
|
|
|
*------------------------------------------------------------------------- |
|
|
|
|
*/ |
|
|
|
|
@ -1101,6 +1101,7 @@ dumpTableData(Archive *fout, TableDataInfo *tdinfo) |
|
|
|
|
ArchiveEntry(fout, tdinfo->dobj.catId, tdinfo->dobj.dumpId, |
|
|
|
|
tbinfo->dobj.name, |
|
|
|
|
tbinfo->dobj.namespace->dobj.name, |
|
|
|
|
NULL, |
|
|
|
|
tbinfo->usename, false, |
|
|
|
|
"TABLE DATA", "", "", copyStmt, |
|
|
|
|
tdinfo->dobj.dependencies, tdinfo->dobj.nDeps, |
|
|
|
|
@ -1271,6 +1272,7 @@ dumpDatabase(Archive *AH) |
|
|
|
|
dbDumpId, /* dump ID */ |
|
|
|
|
datname, /* Name */ |
|
|
|
|
NULL, /* Namespace */ |
|
|
|
|
NULL, /* Tablespace */ |
|
|
|
|
dba, /* Owner */ |
|
|
|
|
false, /* with oids */ |
|
|
|
|
"DATABASE", /* Desc */ |
|
|
|
|
@ -1316,7 +1318,7 @@ dumpTimestamp(Archive *AH, char *msg) |
|
|
|
|
appendPQExpBuffer(qry, "\n"); |
|
|
|
|
|
|
|
|
|
ArchiveEntry(AH, nilCatalogId, createDumpId(), |
|
|
|
|
"DUMP TIMESTAMP", NULL, "", |
|
|
|
|
"DUMP TIMESTAMP", NULL, NULL, "", |
|
|
|
|
false, "DUMP TIMESTAMP", qry->data, "", NULL, |
|
|
|
|
NULL, 0, |
|
|
|
|
NULL, NULL); |
|
|
|
|
@ -1356,7 +1358,7 @@ dumpEncoding(Archive *AH) |
|
|
|
|
appendPQExpBuffer(qry, ";\n"); |
|
|
|
|
|
|
|
|
|
ArchiveEntry(AH, nilCatalogId, createDumpId(), |
|
|
|
|
"ENCODING", NULL, "", |
|
|
|
|
"ENCODING", NULL, NULL, "", |
|
|
|
|
false, "ENCODING", qry->data, "", NULL, |
|
|
|
|
NULL, 0, |
|
|
|
|
NULL, NULL); |
|
|
|
|
@ -4039,7 +4041,7 @@ dumpComment(Archive *fout, const char *target, |
|
|
|
|
appendPQExpBuffer(query, ";\n"); |
|
|
|
|
|
|
|
|
|
ArchiveEntry(fout, nilCatalogId, createDumpId(), |
|
|
|
|
target, namespace, owner, false, |
|
|
|
|
target, namespace, NULL, owner, false, |
|
|
|
|
"COMMENT", query->data, "", NULL, |
|
|
|
|
&(dumpId), 1, |
|
|
|
|
NULL, NULL); |
|
|
|
|
@ -4098,7 +4100,9 @@ dumpTableComment(Archive *fout, TableInfo *tbinfo, |
|
|
|
|
|
|
|
|
|
ArchiveEntry(fout, nilCatalogId, createDumpId(), |
|
|
|
|
target->data, |
|
|
|
|
tbinfo->dobj.namespace->dobj.name, tbinfo->usename, |
|
|
|
|
tbinfo->dobj.namespace->dobj.name, |
|
|
|
|
NULL, |
|
|
|
|
tbinfo->usename, |
|
|
|
|
false, "COMMENT", query->data, "", NULL, |
|
|
|
|
&(tbinfo->dobj.dumpId), 1, |
|
|
|
|
NULL, NULL); |
|
|
|
|
@ -4118,7 +4122,9 @@ dumpTableComment(Archive *fout, TableInfo *tbinfo, |
|
|
|
|
|
|
|
|
|
ArchiveEntry(fout, nilCatalogId, createDumpId(), |
|
|
|
|
target->data, |
|
|
|
|
tbinfo->dobj.namespace->dobj.name, tbinfo->usename, |
|
|
|
|
tbinfo->dobj.namespace->dobj.name, |
|
|
|
|
NULL, |
|
|
|
|
tbinfo->usename, |
|
|
|
|
false, "COMMENT", query->data, "", NULL, |
|
|
|
|
&(tbinfo->dobj.dumpId), 1, |
|
|
|
|
NULL, NULL); |
|
|
|
|
@ -4367,7 +4373,7 @@ dumpDumpableObject(Archive *fout, DumpableObject *dobj) |
|
|
|
|
break; |
|
|
|
|
case DO_BLOBS: |
|
|
|
|
ArchiveEntry(fout, dobj->catId, dobj->dumpId, |
|
|
|
|
dobj->name, NULL, "", |
|
|
|
|
dobj->name, NULL, NULL, "", |
|
|
|
|
false, "BLOBS", "", "", NULL, |
|
|
|
|
NULL, 0, |
|
|
|
|
dumpBlobs, NULL); |
|
|
|
|
@ -4414,7 +4420,8 @@ dumpNamespace(Archive *fout, NamespaceInfo *nspinfo) |
|
|
|
|
|
|
|
|
|
ArchiveEntry(fout, nspinfo->dobj.catId, nspinfo->dobj.dumpId, |
|
|
|
|
nspinfo->dobj.name, |
|
|
|
|
NULL, strcmp(nspinfo->dobj.name, "public") == 0 ? nspinfo->usename : "", |
|
|
|
|
NULL, NULL,
|
|
|
|
|
strcmp(nspinfo->dobj.name, "public") == 0 ? nspinfo->usename : "", |
|
|
|
|
false, "SCHEMA", q->data, delq->data, NULL, |
|
|
|
|
nspinfo->dobj.dependencies, nspinfo->dobj.nDeps, |
|
|
|
|
NULL, NULL); |
|
|
|
|
@ -4705,6 +4712,7 @@ dumpBaseType(Archive *fout, TypeInfo *tinfo) |
|
|
|
|
ArchiveEntry(fout, tinfo->dobj.catId, tinfo->dobj.dumpId, |
|
|
|
|
tinfo->dobj.name, |
|
|
|
|
tinfo->dobj.namespace->dobj.name, |
|
|
|
|
NULL, |
|
|
|
|
tinfo->usename, false, |
|
|
|
|
"TYPE", q->data, delq->data, NULL, |
|
|
|
|
tinfo->dobj.dependencies, tinfo->dobj.nDeps, |
|
|
|
|
@ -4811,6 +4819,7 @@ dumpDomain(Archive *fout, TypeInfo *tinfo) |
|
|
|
|
ArchiveEntry(fout, tinfo->dobj.catId, tinfo->dobj.dumpId, |
|
|
|
|
tinfo->dobj.name, |
|
|
|
|
tinfo->dobj.namespace->dobj.name, |
|
|
|
|
NULL, |
|
|
|
|
tinfo->usename, false, |
|
|
|
|
"DOMAIN", q->data, delq->data, NULL, |
|
|
|
|
tinfo->dobj.dependencies, tinfo->dobj.nDeps, |
|
|
|
|
@ -4904,6 +4913,7 @@ dumpCompositeType(Archive *fout, TypeInfo *tinfo) |
|
|
|
|
ArchiveEntry(fout, tinfo->dobj.catId, tinfo->dobj.dumpId, |
|
|
|
|
tinfo->dobj.name, |
|
|
|
|
tinfo->dobj.namespace->dobj.name, |
|
|
|
|
NULL, |
|
|
|
|
tinfo->usename, false, |
|
|
|
|
"TYPE", q->data, delq->data, NULL, |
|
|
|
|
tinfo->dobj.dependencies, tinfo->dobj.nDeps, |
|
|
|
|
@ -4995,7 +5005,7 @@ dumpProcLang(Archive *fout, ProcLangInfo *plang) |
|
|
|
|
|
|
|
|
|
ArchiveEntry(fout, plang->dobj.catId, plang->dobj.dumpId, |
|
|
|
|
plang->dobj.name, |
|
|
|
|
funcInfo->dobj.namespace->dobj.name, "", |
|
|
|
|
funcInfo->dobj.namespace->dobj.name, NULL, "", |
|
|
|
|
false, "PROCEDURAL LANGUAGE", |
|
|
|
|
defqry->data, delqry->data, NULL, |
|
|
|
|
plang->dobj.dependencies, plang->dobj.nDeps, |
|
|
|
|
@ -5269,6 +5279,7 @@ dumpFunc(Archive *fout, FuncInfo *finfo) |
|
|
|
|
ArchiveEntry(fout, finfo->dobj.catId, finfo->dobj.dumpId, |
|
|
|
|
funcsig_tag, |
|
|
|
|
finfo->dobj.namespace->dobj.name, |
|
|
|
|
NULL, |
|
|
|
|
finfo->usename, false, |
|
|
|
|
"FUNCTION", q->data, delqry->data, NULL, |
|
|
|
|
finfo->dobj.dependencies, finfo->dobj.nDeps, |
|
|
|
|
@ -5408,7 +5419,7 @@ dumpCast(Archive *fout, CastInfo *cast) |
|
|
|
|
|
|
|
|
|
ArchiveEntry(fout, cast->dobj.catId, cast->dobj.dumpId, |
|
|
|
|
castsig->data, |
|
|
|
|
"pg_catalog", "", |
|
|
|
|
"pg_catalog", NULL, "", |
|
|
|
|
false, "CAST", defqry->data, delqry->data, NULL, |
|
|
|
|
cast->dobj.dependencies, cast->dobj.nDeps, |
|
|
|
|
NULL, NULL); |
|
|
|
|
@ -5661,7 +5672,9 @@ dumpOpr(Archive *fout, OprInfo *oprinfo) |
|
|
|
|
|
|
|
|
|
ArchiveEntry(fout, oprinfo->dobj.catId, oprinfo->dobj.dumpId, |
|
|
|
|
oprinfo->dobj.name, |
|
|
|
|
oprinfo->dobj.namespace->dobj.name, oprinfo->usename, |
|
|
|
|
oprinfo->dobj.namespace->dobj.name,
|
|
|
|
|
NULL, |
|
|
|
|
oprinfo->usename, |
|
|
|
|
false, "OPERATOR", q->data, delq->data, NULL, |
|
|
|
|
oprinfo->dobj.dependencies, oprinfo->dobj.nDeps, |
|
|
|
|
NULL, NULL); |
|
|
|
|
@ -5968,7 +5981,9 @@ dumpOpclass(Archive *fout, OpclassInfo *opcinfo) |
|
|
|
|
|
|
|
|
|
ArchiveEntry(fout, opcinfo->dobj.catId, opcinfo->dobj.dumpId, |
|
|
|
|
opcinfo->dobj.name, |
|
|
|
|
opcinfo->dobj.namespace->dobj.name, opcinfo->usename, |
|
|
|
|
opcinfo->dobj.namespace->dobj.name,
|
|
|
|
|
NULL, |
|
|
|
|
opcinfo->usename, |
|
|
|
|
false, "OPERATOR CLASS", q->data, delq->data, NULL, |
|
|
|
|
opcinfo->dobj.dependencies, opcinfo->dobj.nDeps, |
|
|
|
|
NULL, NULL); |
|
|
|
|
@ -6078,7 +6093,9 @@ dumpConversion(Archive *fout, ConvInfo *convinfo) |
|
|
|
|
|
|
|
|
|
ArchiveEntry(fout, convinfo->dobj.catId, convinfo->dobj.dumpId, |
|
|
|
|
convinfo->dobj.name, |
|
|
|
|
convinfo->dobj.namespace->dobj.name, convinfo->usename, |
|
|
|
|
convinfo->dobj.namespace->dobj.name,
|
|
|
|
|
NULL,
|
|
|
|
|
convinfo->usename, |
|
|
|
|
false, "CONVERSION", q->data, delq->data, NULL, |
|
|
|
|
convinfo->dobj.dependencies, convinfo->dobj.nDeps, |
|
|
|
|
NULL, NULL); |
|
|
|
|
@ -6313,9 +6330,11 @@ dumpAgg(Archive *fout, AggInfo *agginfo) |
|
|
|
|
|
|
|
|
|
ArchiveEntry(fout, agginfo->aggfn.dobj.catId, agginfo->aggfn.dobj.dumpId, |
|
|
|
|
aggsig_tag, |
|
|
|
|
agginfo->aggfn.dobj.namespace->dobj.name, agginfo->aggfn.usename, |
|
|
|
|
agginfo->aggfn.dobj.namespace->dobj.name, |
|
|
|
|
NULL, |
|
|
|
|
agginfo->aggfn.usename, |
|
|
|
|
false, "AGGREGATE", q->data, delq->data, NULL, |
|
|
|
|
agginfo->aggfn.dobj.dependencies, agginfo->aggfn.dobj.nDeps, |
|
|
|
|
agginfo->aggfn.dobj.dependencies, agginfo->aggfn.dobj.nDeps, |
|
|
|
|
NULL, NULL); |
|
|
|
|
|
|
|
|
|
/* Dump Aggregate Comments */ |
|
|
|
|
@ -6392,6 +6411,7 @@ dumpACL(Archive *fout, CatalogId objCatId, DumpId objDumpId, |
|
|
|
|
if (sql->len > 0) |
|
|
|
|
ArchiveEntry(fout, nilCatalogId, createDumpId(), |
|
|
|
|
tag, nspname, |
|
|
|
|
NULL,
|
|
|
|
|
owner ? owner : "", |
|
|
|
|
false, "ACL", sql->data, "", NULL, |
|
|
|
|
&(objDumpId), 1, |
|
|
|
|
@ -6629,11 +6649,6 @@ dumpTableSchema(Archive *fout, TableInfo *tbinfo) |
|
|
|
|
appendPQExpBuffer(q, ")"); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/* Output tablespace clause if not database's default */ |
|
|
|
|
if (strlen(tbinfo->reltablespace) != 0) |
|
|
|
|
appendPQExpBuffer(q, " TABLESPACE %s", |
|
|
|
|
fmtId(tbinfo->reltablespace)); |
|
|
|
|
|
|
|
|
|
appendPQExpBuffer(q, ";\n"); |
|
|
|
|
|
|
|
|
|
/* Loop dumping statistics and storage statements */ |
|
|
|
|
@ -6699,8 +6714,10 @@ dumpTableSchema(Archive *fout, TableInfo *tbinfo) |
|
|
|
|
|
|
|
|
|
ArchiveEntry(fout, tbinfo->dobj.catId, tbinfo->dobj.dumpId, |
|
|
|
|
tbinfo->dobj.name, |
|
|
|
|
tbinfo->dobj.namespace->dobj.name, tbinfo->usename, |
|
|
|
|
(strcmp(reltypename, "TABLE") == 0) ? tbinfo->hasoids : false, |
|
|
|
|
tbinfo->dobj.namespace->dobj.name, |
|
|
|
|
(tbinfo->relkind == RELKIND_VIEW) ? NULL : tbinfo->reltablespace, |
|
|
|
|
tbinfo->usename, |
|
|
|
|
(strcmp(reltypename, "TABLE") == 0) ? tbinfo->hasoids : false, |
|
|
|
|
reltypename, q->data, delq->data, NULL, |
|
|
|
|
tbinfo->dobj.dependencies, tbinfo->dobj.nDeps, |
|
|
|
|
NULL, NULL); |
|
|
|
|
@ -6754,7 +6771,9 @@ dumpAttrDef(Archive *fout, AttrDefInfo *adinfo) |
|
|
|
|
|
|
|
|
|
ArchiveEntry(fout, adinfo->dobj.catId, adinfo->dobj.dumpId, |
|
|
|
|
tbinfo->attnames[adnum - 1], |
|
|
|
|
tbinfo->dobj.namespace->dobj.name, tbinfo->usename, |
|
|
|
|
tbinfo->dobj.namespace->dobj.name,
|
|
|
|
|
NULL, |
|
|
|
|
tbinfo->usename, |
|
|
|
|
false, "DEFAULT", q->data, delq->data, NULL, |
|
|
|
|
adinfo->dobj.dependencies, adinfo->dobj.nDeps, |
|
|
|
|
NULL, NULL); |
|
|
|
|
@ -6845,6 +6864,7 @@ dumpIndex(Archive *fout, IndxInfo *indxinfo) |
|
|
|
|
ArchiveEntry(fout, indxinfo->dobj.catId, indxinfo->dobj.dumpId, |
|
|
|
|
indxinfo->dobj.name, |
|
|
|
|
tbinfo->dobj.namespace->dobj.name, |
|
|
|
|
tbinfo->reltablespace, |
|
|
|
|
tbinfo->usename, false, |
|
|
|
|
"INDEX", q->data, delq->data, NULL, |
|
|
|
|
indxinfo->dobj.dependencies, indxinfo->dobj.nDeps, |
|
|
|
|
@ -6918,14 +6938,7 @@ dumpConstraint(Archive *fout, ConstraintInfo *coninfo) |
|
|
|
|
fmtId(attname)); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
appendPQExpBuffer(q, ")"); |
|
|
|
|
|
|
|
|
|
/* Output tablespace clause if not database's default */ |
|
|
|
|
if (strlen(indxinfo->tablespace) != 0) |
|
|
|
|
appendPQExpBuffer(q, " USING INDEX TABLESPACE %s", |
|
|
|
|
fmtId(indxinfo->tablespace)); |
|
|
|
|
|
|
|
|
|
appendPQExpBuffer(q, ";\n"); |
|
|
|
|
appendPQExpBuffer(q, ");\n"); |
|
|
|
|
|
|
|
|
|
/* If the index is clustered, we need to record that. */ |
|
|
|
|
if (indxinfo->indisclustered) |
|
|
|
|
@ -6950,6 +6963,7 @@ dumpConstraint(Archive *fout, ConstraintInfo *coninfo) |
|
|
|
|
ArchiveEntry(fout, coninfo->dobj.catId, coninfo->dobj.dumpId, |
|
|
|
|
coninfo->dobj.name, |
|
|
|
|
tbinfo->dobj.namespace->dobj.name, |
|
|
|
|
indxinfo->tablespace, |
|
|
|
|
tbinfo->usename, false, |
|
|
|
|
"CONSTRAINT", q->data, delq->data, NULL, |
|
|
|
|
coninfo->dobj.dependencies, coninfo->dobj.nDeps, |
|
|
|
|
@ -6981,6 +6995,7 @@ dumpConstraint(Archive *fout, ConstraintInfo *coninfo) |
|
|
|
|
ArchiveEntry(fout, coninfo->dobj.catId, coninfo->dobj.dumpId, |
|
|
|
|
coninfo->dobj.name, |
|
|
|
|
tbinfo->dobj.namespace->dobj.name, |
|
|
|
|
NULL, |
|
|
|
|
tbinfo->usename, false, |
|
|
|
|
"FK CONSTRAINT", q->data, delq->data, NULL, |
|
|
|
|
coninfo->dobj.dependencies, coninfo->dobj.nDeps, |
|
|
|
|
@ -7014,6 +7029,7 @@ dumpConstraint(Archive *fout, ConstraintInfo *coninfo) |
|
|
|
|
ArchiveEntry(fout, coninfo->dobj.catId, coninfo->dobj.dumpId, |
|
|
|
|
coninfo->dobj.name, |
|
|
|
|
tbinfo->dobj.namespace->dobj.name, |
|
|
|
|
NULL, |
|
|
|
|
tbinfo->usename, false, |
|
|
|
|
"CHECK CONSTRAINT", q->data, delq->data, NULL, |
|
|
|
|
coninfo->dobj.dependencies, coninfo->dobj.nDeps, |
|
|
|
|
@ -7048,6 +7064,7 @@ dumpConstraint(Archive *fout, ConstraintInfo *coninfo) |
|
|
|
|
ArchiveEntry(fout, coninfo->dobj.catId, coninfo->dobj.dumpId, |
|
|
|
|
coninfo->dobj.name, |
|
|
|
|
tinfo->dobj.namespace->dobj.name, |
|
|
|
|
NULL, |
|
|
|
|
tinfo->usename, false, |
|
|
|
|
"CHECK CONSTRAINT", q->data, delq->data, NULL, |
|
|
|
|
coninfo->dobj.dependencies, coninfo->dobj.nDeps, |
|
|
|
|
@ -7114,7 +7131,7 @@ setMaxOid(Archive *fout) |
|
|
|
|
max_oid); |
|
|
|
|
|
|
|
|
|
ArchiveEntry(fout, nilCatalogId, createDumpId(), |
|
|
|
|
"Max OID", NULL, "", |
|
|
|
|
"Max OID", NULL, NULL, "", |
|
|
|
|
false, "<Init>", sql, "", NULL, |
|
|
|
|
NULL, 0, |
|
|
|
|
NULL, NULL); |
|
|
|
|
@ -7313,7 +7330,9 @@ dumpSequence(Archive *fout, TableInfo *tbinfo) |
|
|
|
|
|
|
|
|
|
ArchiveEntry(fout, tbinfo->dobj.catId, tbinfo->dobj.dumpId, |
|
|
|
|
tbinfo->dobj.name, |
|
|
|
|
tbinfo->dobj.namespace->dobj.name, tbinfo->usename, |
|
|
|
|
tbinfo->dobj.namespace->dobj.name,
|
|
|
|
|
NULL, |
|
|
|
|
tbinfo->usename, |
|
|
|
|
false, "SEQUENCE", query->data, delqry->data, NULL, |
|
|
|
|
tbinfo->dobj.dependencies, tbinfo->dobj.nDeps, |
|
|
|
|
NULL, NULL); |
|
|
|
|
@ -7349,7 +7368,9 @@ dumpSequence(Archive *fout, TableInfo *tbinfo) |
|
|
|
|
|
|
|
|
|
ArchiveEntry(fout, nilCatalogId, createDumpId(), |
|
|
|
|
tbinfo->dobj.name, |
|
|
|
|
tbinfo->dobj.namespace->dobj.name, tbinfo->usename, |
|
|
|
|
tbinfo->dobj.namespace->dobj.name, |
|
|
|
|
NULL, |
|
|
|
|
tbinfo->usename, |
|
|
|
|
false, "SEQUENCE SET", query->data, "", NULL, |
|
|
|
|
&(tbinfo->dobj.dumpId), 1, |
|
|
|
|
NULL, NULL); |
|
|
|
|
@ -7515,6 +7536,7 @@ dumpTrigger(Archive *fout, TriggerInfo *tginfo) |
|
|
|
|
ArchiveEntry(fout, tginfo->dobj.catId, tginfo->dobj.dumpId, |
|
|
|
|
tginfo->dobj.name, |
|
|
|
|
tbinfo->dobj.namespace->dobj.name, |
|
|
|
|
NULL, |
|
|
|
|
tbinfo->usename, false, |
|
|
|
|
"TRIGGER", query->data, delqry->data, NULL, |
|
|
|
|
tginfo->dobj.dependencies, tginfo->dobj.nDeps, |
|
|
|
|
@ -7609,6 +7631,7 @@ dumpRule(Archive *fout, RuleInfo *rinfo) |
|
|
|
|
ArchiveEntry(fout, rinfo->dobj.catId, rinfo->dobj.dumpId, |
|
|
|
|
rinfo->dobj.name, |
|
|
|
|
tbinfo->dobj.namespace->dobj.name, |
|
|
|
|
NULL, |
|
|
|
|
tbinfo->usename, false, |
|
|
|
|
"RULE", cmd->data, delcmd->data, NULL, |
|
|
|
|
rinfo->dobj.dependencies, rinfo->dobj.nDeps, |
|
|
|
|
|