]> granicus.if.org Git - postgresql/commitdiff
In client support of v10 features, use standard schema handling.
authorNoah Misch <noah@leadboat.com>
Thu, 2 Nov 2017 02:16:14 +0000 (19:16 -0700)
committerNoah Misch <noah@leadboat.com>
Thu, 2 Nov 2017 02:16:14 +0000 (19:16 -0700)
Back-patch to v10.  This continues the work of commit
080351466c5a669bf35a323bdec9e296330a5dbb.

Discussion: https://postgr.es/m/CAKOSWN=ds66zLw2SqkLTM8wbXFgDbc_OdkmT3dJfPT2mE5kipA@mail.gmail.com

src/bin/pg_dump/pg_dump.c
src/bin/psql/describe.c

index b807df58a85dd3a67efdcc81d127c42c0f914228..6d4c28852cef31ecbf0f4067ddfc3f768417222b 100644 (file)
@@ -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);
 
index 986172616ee91cc88de6f3214ceefa02cbd706fb..b7b978a36147deb1a0eb37266434ca5391caaa01 100644 (file)
@@ -5363,7 +5363,7 @@ describeSubscriptions(const char *pattern, bool verbose)
                                                 "FROM pg_catalog.pg_subscription\n"
                                                 "WHERE subdbid = (SELECT oid\n"
                                                 "                 FROM pg_catalog.pg_database\n"
-                                                "                 WHERE datname = current_database())");
+                                                "                 WHERE datname = pg_catalog.current_database())");
 
        processSQLNamePattern(pset.db, &buf, pattern, true, false,
                                                  NULL, "subname", NULL,