Show statistics target for columns in \d+ on a table
authorMagnus Hagander
Sat, 5 Nov 2011 12:02:48 +0000 (13:02 +0100)
committerMagnus Hagander
Sat, 5 Nov 2011 12:02:48 +0000 (13:02 +0100)
src/bin/psql/describe.c

index 8ec240d09ebd4f9c9442926015b71ce94f979bbd..b5c14c57672e4438f24ae00d9263e3402f545a13 100644 (file)
@@ -1280,6 +1280,7 @@ describeOneTableDetails(const char *schemaname,
    if (verbose)
    {
        appendPQExpBuffer(&buf, ",\n  a.attstorage");
+       appendPQExpBuffer(&buf, ",\n  CASE WHEN a.attstattarget=-1 THEN NULL ELSE a.attstattarget END AS attstattarget");
        /*
         * In 9.0+, we have column comments for: relations, views, composite
         * types, and foreign tables (c.f. CommentObject() in comment.c).
@@ -1374,6 +1375,8 @@ describeOneTableDetails(const char *schemaname,
    if (verbose)
    {
        headers[cols++] = gettext_noop("Storage");
+       if (tableinfo.relkind == 'r')
+           headers[cols++] = gettext_noop("Stats target");
        /* Column comments, if the relkind supports this feature. */
        if (tableinfo.relkind == 'r' || tableinfo.relkind == 'v' ||
            tableinfo.relkind == 'c' || tableinfo.relkind == 'f')
@@ -1473,10 +1476,18 @@ describeOneTableDetails(const char *schemaname,
                                        (storage[0] == 'e' ? "external" :
                                         "???")))),
                              false, false);
+
+           /* Statistics target, if the relkind supports this feature */
+           if (tableinfo.relkind == 'r')
+           {
+               printTableAddCell(&cont, PQgetvalue(res, i, firstvcol + 1),
+                                 false, false);
+           }
+
            /* Column comments, if the relkind supports this feature. */
            if (tableinfo.relkind == 'r' || tableinfo.relkind == 'v' ||
                tableinfo.relkind == 'c' || tableinfo.relkind == 'f')
-               printTableAddCell(&cont, PQgetvalue(res, i, firstvcol + 1),
+               printTableAddCell(&cont, PQgetvalue(res, i, firstvcol + 2),
                                  false, false);
        }
    }