>From d0500fae854076aeff45fd81c8eac5d6b3556e11 Mon Sep 17 00:00:00 2001
From: Daniel Gustafsson <daniel@yesql.se>
Date: Mon, 26 Jun 2017 13:50:58 +0200
Subject: [PATCH 4/6] Include all details from normal in verbose more for \dRp

In general the meta commands include additional information when in
verbose mode together with what was printed in normal mode. Include
the name and owner in \dRp+ to keep consistency with \dRp.
---
 src/bin/psql/describe.c | 13 +++++++++----
 1 file changed, 9 insertions(+), 4 deletions(-)

diff --git a/src/bin/psql/describe.c b/src/bin/psql/describe.c
index 85fc22d942..24d77f84f2 100644
--- a/src/bin/psql/describe.c
+++ b/src/bin/psql/describe.c
@@ -5138,8 +5138,9 @@ describePublications(const char *pattern)
 	initPQExpBuffer(&buf);
 
 	printfPQExpBuffer(&buf,
-					  "SELECT oid, pubname, puballtables, pubinsert,\n"
-					  "  pubupdate, pubdelete\n"
+					  "SELECT oid, pubname, "
+					  "  pg_catalog.pg_get_userbyid(pubowner) AS owner,"
+					  "  puballtables, pubinsert, pubupdate, pubdelete "
 					  "FROM pg_catalog.pg_publication\n");
 
 	processSQLNamePattern(pset.db, &buf, pattern, false, false,
@@ -5158,13 +5159,13 @@ describePublications(const char *pattern)
 	for (i = 0; i < PQntuples(res); i++)
 	{
 		const char	align = 'l';
-		int			ncols = 4;
+		int			ncols = 6;
 		int			nrows = 1;
 		int			tables = 0;
 		PGresult   *tabres;
 		char	   *pubid = PQgetvalue(res, i, 0);
 		char	   *pubname = PQgetvalue(res, i, 1);
-		bool		puballtables = strcmp(PQgetvalue(res, i, 2), "t") == 0;
+		bool		puballtables = strcmp(PQgetvalue(res, i, 3), "t") == 0;
 		int			j;
 		PQExpBufferData title;
 		printTableOpt myopt = pset.popt.topt;
@@ -5174,15 +5175,19 @@ describePublications(const char *pattern)
 		printfPQExpBuffer(&title, _("Publication %s"), pubname);
 		printTableInit(&cont, &myopt, title.data, ncols, nrows);
 
+		printTableAddHeader(&cont, gettext_noop("Name"), true, align);
+		printTableAddHeader(&cont, gettext_noop("Owner"), true, align);
 		printTableAddHeader(&cont, gettext_noop("All tables"), true, align);
 		printTableAddHeader(&cont, gettext_noop("Inserts"), true, align);
 		printTableAddHeader(&cont, gettext_noop("Updates"), true, align);
 		printTableAddHeader(&cont, gettext_noop("Deletes"), true, align);
 
+		printTableAddCell(&cont, PQgetvalue(res, i, 1), false, false);
 		printTableAddCell(&cont, PQgetvalue(res, i, 2), false, false);
 		printTableAddCell(&cont, PQgetvalue(res, i, 3), false, false);
 		printTableAddCell(&cont, PQgetvalue(res, i, 4), false, false);
 		printTableAddCell(&cont, PQgetvalue(res, i, 5), false, false);
+		printTableAddCell(&cont, PQgetvalue(res, i, 6), false, false);
 
 		if (!puballtables)
 		{
-- 
2.13.0.rc0.45.ge2cb6ab.dirty

