From a6ce8ba2f3b280bb06cbca84a5375d42a25bea5f Mon Sep 17 00:00:00 2001
From: Robert Haas <rhaas@postgresql.org>
Date: Fri, 11 Nov 2011 23:33:44 -0500
Subject: [PATCH] Fix psql's \dd version check for operator families.

Report and patch by Josh Kupershmidt; comment revisions by me.
---
 src/bin/psql/describe.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/bin/psql/describe.c b/src/bin/psql/describe.c
index b5c14c5767..2ff6d7dc99 100644
--- a/src/bin/psql/describe.c
+++ b/src/bin/psql/describe.c
@@ -876,8 +876,7 @@ objectDescription(const char *pattern, bool showSystem)
 						  "pg_catalog.pg_table_is_visible(c.oid)");
 
 	/*
-	 * pg_opclass.opcmethod only available in 8.3+, and comment on operator
-	 * family only available in 8.3+
+	 * pg_opclass.opcmethod only available in 8.3+
 	 */
 	if (pset.sversion >= 80300)
 	{
@@ -902,7 +901,14 @@ objectDescription(const char *pattern, bool showSystem)
 		processSQLNamePattern(pset.db, &buf, pattern, true, false,
 							  "n.nspname", "o.opcname", NULL,
 							  "pg_catalog.pg_opclass_is_visible(o.oid)");
+	}
 
+	/*
+	 * although operator family comments have been around since 8.3,
+	 * pg_opfamily_is_visible is only available in 9.2+
+	 */
+	if (pset.sversion >= 90200)
+	{
 		/* Operator family descriptions */
 		appendPQExpBuffer(&buf,
 						  "UNION ALL\n"