|
|
|
|
@ -3475,12 +3475,15 @@ getPublications(Archive *fout) |
|
|
|
|
|
|
|
|
|
resetPQExpBuffer(query); |
|
|
|
|
|
|
|
|
|
/* Make sure we are in proper schema */ |
|
|
|
|
selectSourceSchema(fout, "pg_catalog"); |
|
|
|
|
|
|
|
|
|
/* Get the publications. */ |
|
|
|
|
appendPQExpBuffer(query, |
|
|
|
|
"SELECT p.tableoid, p.oid, p.pubname, " |
|
|
|
|
"(%s p.pubowner) AS rolname, " |
|
|
|
|
"p.puballtables, p.pubinsert, p.pubupdate, p.pubdelete " |
|
|
|
|
"FROM pg_catalog.pg_publication p", |
|
|
|
|
"FROM pg_publication p", |
|
|
|
|
username_subquery); |
|
|
|
|
|
|
|
|
|
res = ExecuteSqlQuery(fout, query->data, PGRES_TUPLES_OK); |
|
|
|
|
@ -3631,6 +3634,9 @@ getPublicationTables(Archive *fout, TableInfo tblinfo[], int numTables) |
|
|
|
|
|
|
|
|
|
query = createPQExpBuffer(); |
|
|
|
|
|
|
|
|
|
/* Make sure we are in proper schema */ |
|
|
|
|
selectSourceSchema(fout, "pg_catalog"); |
|
|
|
|
|
|
|
|
|
for (i = 0; i < numTables; i++) |
|
|
|
|
{ |
|
|
|
|
TableInfo *tbinfo = &tblinfo[i]; |
|
|
|
|
@ -3656,8 +3662,7 @@ getPublicationTables(Archive *fout, TableInfo tblinfo[], int numTables) |
|
|
|
|
/* Get the publication membership for the table. */ |
|
|
|
|
appendPQExpBuffer(query, |
|
|
|
|
"SELECT pr.tableoid, pr.oid, p.pubname " |
|
|
|
|
"FROM pg_catalog.pg_publication_rel pr," |
|
|
|
|
" pg_catalog.pg_publication p " |
|
|
|
|
"FROM pg_publication_rel pr, pg_publication p " |
|
|
|
|
"WHERE pr.prrelid = '%u'" |
|
|
|
|
" AND p.oid = pr.prpubid", |
|
|
|
|
tbinfo->dobj.catId.oid); |
|
|
|
|
@ -3783,13 +3788,16 @@ getSubscriptions(Archive *fout) |
|
|
|
|
if (dopt->no_subscriptions || fout->remoteVersion < 100000) |
|
|
|
|
return; |
|
|
|
|
|
|
|
|
|
/* Make sure we are in proper schema */ |
|
|
|
|
selectSourceSchema(fout, "pg_catalog"); |
|
|
|
|
|
|
|
|
|
if (!is_superuser(fout)) |
|
|
|
|
{ |
|
|
|
|
int n; |
|
|
|
|
|
|
|
|
|
res = ExecuteSqlQuery(fout, |
|
|
|
|
"SELECT count(*) FROM pg_subscription " |
|
|
|
|
"WHERE subdbid = (SELECT oid FROM pg_catalog.pg_database" |
|
|
|
|
"WHERE subdbid = (SELECT oid FROM pg_database" |
|
|
|
|
" WHERE datname = current_database())", |
|
|
|
|
PGRES_TUPLES_OK); |
|
|
|
|
n = atoi(PQgetvalue(res, 0, 0)); |
|
|
|
|
@ -3809,8 +3817,8 @@ getSubscriptions(Archive *fout) |
|
|
|
|
"(%s s.subowner) AS rolname, " |
|
|
|
|
" s.subconninfo, s.subslotname, s.subsynccommit, " |
|
|
|
|
" s.subpublications " |
|
|
|
|
"FROM pg_catalog.pg_subscription s " |
|
|
|
|
"WHERE s.subdbid = (SELECT oid FROM pg_catalog.pg_database" |
|
|
|
|
"FROM pg_subscription s " |
|
|
|
|
"WHERE s.subdbid = (SELECT oid FROM pg_database" |
|
|
|
|
" WHERE datname = current_database())", |
|
|
|
|
username_subquery); |
|
|
|
|
res = ExecuteSqlQuery(fout, query->data, PGRES_TUPLES_OK); |
|
|
|
|
@ -6830,7 +6838,7 @@ getExtendedStatistics(Archive *fout, TableInfo tblinfo[], int numTables) |
|
|
|
|
"oid, " |
|
|
|
|
"stxname, " |
|
|
|
|
"pg_catalog.pg_get_statisticsobjdef(oid) AS stxdef " |
|
|
|
|
"FROM pg_statistic_ext " |
|
|
|
|
"FROM pg_catalog.pg_statistic_ext " |
|
|
|
|
"WHERE stxrelid = '%u' " |
|
|
|
|
"ORDER BY stxname", tbinfo->dobj.catId.oid); |
|
|
|
|
|
|
|
|
|
|