Fix another problem in SQL-MED \d displays: should have a clean failure
authorTom Lane <tgl@sss.pgh.pa.us>
Wed, 31 Dec 2008 18:33:03 +0000 (18:33 +0000)
committerTom Lane <tgl@sss.pgh.pa.us>
Wed, 31 Dec 2008 18:33:03 +0000 (18:33 +0000)
report if the command is attempted against an old server.

src/bin/psql/describe.c

index 91034d818684b7bba2f7b53cbc467932bed16a95..68e0a816d56a8796b259a9de1e9c9841ade9c560 100644 (file)
@@ -2797,6 +2797,13 @@ listForeignDataWrappers(const char *pattern, bool verbose)
        PGresult   *res;
        printQueryOpt myopt = pset.popt;
 
+       if (pset.sversion < 80400)
+       {
+               fprintf(stderr, _("The server (version %d.%d) does not support foreign-data wrappers.\n"),
+                               pset.sversion / 10000, (pset.sversion / 100) % 100);
+               return true;
+       }
+
        initPQExpBuffer(&buf);
        printfPQExpBuffer(&buf,
                                          "SELECT fdwname AS \"%s\",\n"
@@ -2849,6 +2856,13 @@ listForeignServers(const char *pattern, bool verbose)
        PGresult   *res;
        printQueryOpt myopt = pset.popt;
 
+       if (pset.sversion < 80400)
+       {
+               fprintf(stderr, _("The server (version %d.%d) does not support foreign-data servers.\n"),
+                               pset.sversion / 10000, (pset.sversion / 100) % 100);
+               return true;
+       }
+
        initPQExpBuffer(&buf);
        printfPQExpBuffer(&buf,
                                          "SELECT s.srvname AS \"%s\",\n"
@@ -2908,6 +2922,13 @@ listUserMappings(const char *pattern, bool verbose)
        PGresult   *res;
        printQueryOpt myopt = pset.popt;
 
+       if (pset.sversion < 80400)
+       {
+               fprintf(stderr, _("The server (version %d.%d) does not support foreign-data user mappings.\n"),
+                               pset.sversion / 10000, (pset.sversion / 100) % 100);
+               return true;
+       }
+
        initPQExpBuffer(&buf);
        printfPQExpBuffer(&buf,
                                          "SELECT um.srvname AS \"%s\",\n"