From 69c16983e103f913ee0dae7f288611de006ba2ba Mon Sep 17 00:00:00 2001 From: Robert Haas Date: Fri, 29 Sep 2017 15:59:11 -0400 Subject: [PATCH] psql: Don't try to print a partition constraint we didn't fetch. If \d rather than \d+ is used, then verbose is false and we don't ask the server for the partition constraint; so we shouldn't print it in that case either. Maksim Milyutin, per a report from Jesper Pedersen. Reviewed by Jesper Pedersen and Amit Langote. Discussion: http://postgr.es/m/2af5fc4d-7bcc-daa8-4fe6-86274bea363c@redhat.com --- src/bin/psql/describe.c | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/src/bin/psql/describe.c b/src/bin/psql/describe.c index a3209b73fa..06885715a6 100644 --- a/src/bin/psql/describe.c +++ b/src/bin/psql/describe.c @@ -1985,13 +1985,16 @@ describeOneTableDetails(const char *schemaname, partdef); printTableAddFooter(&cont, tmpbuf.data); - /* If there isn't any constraint, show that explicitly */ - if (partconstraintdef == NULL || partconstraintdef[0] == '\0') - printfPQExpBuffer(&tmpbuf, _("No partition constraint")); - else - printfPQExpBuffer(&tmpbuf, _("Partition constraint: %s"), - partconstraintdef); - printTableAddFooter(&cont, tmpbuf.data); + if (verbose) + { + /* If there isn't any constraint, show that explicitly */ + if (partconstraintdef == NULL || partconstraintdef[0] == '\0') + printfPQExpBuffer(&tmpbuf, _("No partition constraint")); + else + printfPQExpBuffer(&tmpbuf, _("Partition constraint: %s"), + partconstraintdef); + printTableAddFooter(&cont, tmpbuf.data); + } PQclear(result); }