Skip to content

Commit 96e218a

Browse files
committed
Do not show information_schema in \d* commands, unless 'S' or pattern is
specified. Martin Pihlak
1 parent c26ffb1 commit 96e218a

File tree

1 file changed

+35
-20
lines changed

1 file changed

+35
-20
lines changed

src/bin/psql/describe.c

Lines changed: 35 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
*
99
* Copyright (c) 2000-2009, PostgreSQL Global Development Group
1010
*
11-
* $PostgreSQL: pgsql/src/bin/psql/describe.c,v 1.204 2009/04/02 15:15:32 momjian Exp $
11+
* $PostgreSQL: pgsql/src/bin/psql/describe.c,v 1.205 2009/04/02 17:38:26 momjian Exp $
1212
*/
1313
#include "postgres_fe.h"
1414

@@ -95,7 +95,8 @@ describeAggregates(const char *pattern, bool verbose, bool showSystem)
9595
gettext_noop("Description"));
9696

9797
if (!showSystem && !pattern)
98-
appendPQExpBuffer(&buf, " AND n.nspname <> 'pg_catalog'\n");
98+
appendPQExpBuffer(&buf, " AND n.nspname <> 'pg_catalog'\n"
99+
" AND n.nspname <> 'information_schema'\n");
99100

100101
processSQLNamePattern(pset.db, &buf, pattern, true, false,
101102
"n.nspname", "p.proname", NULL,
@@ -282,7 +283,8 @@ describeFunctions(const char *pattern, bool verbose, bool showSystem)
282283
" AND NOT p.proisagg\n");
283284

284285
if (!showSystem && !pattern)
285-
appendPQExpBuffer(&buf, " AND n.nspname <> 'pg_catalog'\n");
286+
appendPQExpBuffer(&buf, " AND n.nspname <> 'pg_catalog'\n"
287+
" AND n.nspname <> 'information_schema'\n");
286288

287289
processSQLNamePattern(pset.db, &buf, pattern, true, false,
288290
"n.nspname", "p.proname", NULL,
@@ -373,7 +375,8 @@ describeTypes(const char *pattern, bool verbose, bool showSystem)
373375
appendPQExpBuffer(&buf, " AND t.typname !~ '^_'\n");
374376

375377
if (!showSystem && !pattern)
376-
appendPQExpBuffer(&buf, " AND n.nspname <> 'pg_catalog'\n");
378+
appendPQExpBuffer(&buf, " AND n.nspname <> 'pg_catalog'\n"
379+
" AND n.nspname <> 'information_schema'\n");
377380

378381
/* Match name pattern against either internal or external name */
379382
processSQLNamePattern(pset.db, &buf, pattern, true, false,
@@ -428,7 +431,8 @@ describeOperators(const char *pattern, bool showSystem)
428431
gettext_noop("Description"));
429432

430433
if (!showSystem && !pattern)
431-
appendPQExpBuffer(&buf, " WHERE n.nspname <> 'pg_catalog'\n");
434+
appendPQExpBuffer(&buf, "WHERE n.nspname <> 'pg_catalog'\n"
435+
" AND n.nspname <> 'information_schema'\n");
432436

433437
processSQLNamePattern(pset.db, &buf, pattern, !showSystem && !pattern, true,
434438
"n.nspname", "o.oprname", NULL,
@@ -632,7 +636,8 @@ objectDescription(const char *pattern, bool showSystem)
632636
gettext_noop("aggregate"));
633637

634638
if (!showSystem && !pattern)
635-
appendPQExpBuffer(&buf, " AND n.nspname <> 'pg_catalog'\n");
639+
appendPQExpBuffer(&buf, " AND n.nspname <> 'pg_catalog'\n"
640+
" AND n.nspname <> 'information_schema'\n");
636641

637642
processSQLNamePattern(pset.db, &buf, pattern, true, false,
638643
"n.nspname", "p.proname", NULL,
@@ -655,7 +660,8 @@ objectDescription(const char *pattern, bool showSystem)
655660
gettext_noop("function"));
656661

657662
if (!showSystem && !pattern)
658-
appendPQExpBuffer(&buf, " AND n.nspname <> 'pg_catalog'\n");
663+
appendPQExpBuffer(&buf, " AND n.nspname <> 'pg_catalog'\n"
664+
" AND n.nspname <> 'information_schema'\n");
659665

660666
processSQLNamePattern(pset.db, &buf, pattern, true, false,
661667
"n.nspname", "p.proname", NULL,
@@ -673,7 +679,8 @@ objectDescription(const char *pattern, bool showSystem)
673679
gettext_noop("operator"));
674680

675681
if (!showSystem && !pattern)
676-
appendPQExpBuffer(&buf, " WHERE n.nspname <> 'pg_catalog'\n");
682+
appendPQExpBuffer(&buf, "WHERE n.nspname <> 'pg_catalog'\n"
683+
" AND n.nspname <> 'information_schema'\n");
677684

678685
processSQLNamePattern(pset.db, &buf, pattern, !showSystem && !pattern, false,
679686
"n.nspname", "o.oprname", NULL,
@@ -691,7 +698,8 @@ objectDescription(const char *pattern, bool showSystem)
691698
gettext_noop("data type"));
692699

693700
if (!showSystem && !pattern)
694-
appendPQExpBuffer(&buf, " WHERE n.nspname <> 'pg_catalog'\n");
701+
appendPQExpBuffer(&buf, "WHERE n.nspname <> 'pg_catalog'\n"
702+
" AND n.nspname <> 'information_schema'\n");
695703

696704
processSQLNamePattern(pset.db, &buf, pattern, !showSystem && !pattern, false,
697705
"n.nspname", "pg_catalog.format_type(t.oid, NULL)",
@@ -714,8 +722,10 @@ objectDescription(const char *pattern, bool showSystem)
714722
gettext_noop("view"),
715723
gettext_noop("index"),
716724
gettext_noop("sequence"));
725+
717726
if (!showSystem && !pattern)
718-
appendPQExpBuffer(&buf, " AND n.nspname <> 'pg_catalog'\n");
727+
appendPQExpBuffer(&buf, " AND n.nspname <> 'pg_catalog'\n"
728+
" AND n.nspname <> 'information_schema'\n");
719729

720730
processSQLNamePattern(pset.db, &buf, pattern, true, false,
721731
"n.nspname", "c.relname", NULL,
@@ -735,7 +745,8 @@ objectDescription(const char *pattern, bool showSystem)
735745
gettext_noop("rule"));
736746

737747
if (!showSystem && !pattern)
738-
appendPQExpBuffer(&buf, " AND n.nspname <> 'pg_catalog'\n");
748+
appendPQExpBuffer(&buf, " AND n.nspname <> 'pg_catalog'\n"
749+
" AND n.nspname <> 'information_schema'\n");
739750

740751
/* XXX not sure what to do about visibility rule here? */
741752
processSQLNamePattern(pset.db, &buf, pattern, true, false,
@@ -753,8 +764,10 @@ objectDescription(const char *pattern, bool showSystem)
753764
" JOIN pg_catalog.pg_class c ON c.oid = t.tgrelid\n"
754765
" LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespace\n",
755766
gettext_noop("trigger"));
767+
756768
if (!showSystem && !pattern)
757-
appendPQExpBuffer(&buf, " WHERE n.nspname <> 'pg_catalog'\n");
769+
appendPQExpBuffer(&buf, "WHERE n.nspname <> 'pg_catalog'\n"
770+
" AND n.nspname <> 'information_schema'\n");
758771

759772
/* XXX not sure what to do about visibility rule here? */
760773
processSQLNamePattern(pset.db, &buf, pattern, !showSystem && !pattern, false,
@@ -809,7 +822,8 @@ describeTableDetails(const char *pattern, bool verbose, bool showSystem)
809822
" LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespace\n");
810823

811824
if (!showSystem && !pattern)
812-
appendPQExpBuffer(&buf, " WHERE n.nspname <> 'pg_catalog'\n");
825+
appendPQExpBuffer(&buf, "WHERE n.nspname <> 'pg_catalog'\n"
826+
" AND n.nspname <> 'information_schema'\n");
813827

814828
processSQLNamePattern(pset.db, &buf, pattern, !showSystem && !pattern, false,
815829
"n.nspname", "c.relname", NULL,
@@ -2013,11 +2027,10 @@ listTables(const char *tabtypes, const char *pattern, bool verbose, bool showSys
20132027
appendPQExpBuffer(&buf, "''"); /* dummy */
20142028
appendPQExpBuffer(&buf, ")\n");
20152029

2016-
if (!showSystem && !pattern)
2017-
/* Exclude system and pg_toast objects, but show temp tables */
2018-
appendPQExpBuffer(&buf,
2019-
" AND n.nspname <> 'pg_catalog'\n"
2020-
" AND n.nspname !~ '^pg_toast'\n");
2030+
if (!showSystem && !pattern)
2031+
appendPQExpBuffer(&buf, " AND n.nspname <> 'pg_catalog'\n"
2032+
" AND n.nspname <> 'information_schema'\n"
2033+
" AND n.nspname !~ '^pg_toast'\n");
20212034

20222035
processSQLNamePattern(pset.db, &buf, pattern, true, false,
20232036
"n.nspname", "c.relname", NULL,
@@ -2088,7 +2101,8 @@ listDomains(const char *pattern, bool showSystem)
20882101
gettext_noop("Check"));
20892102

20902103
if (!showSystem && !pattern)
2091-
appendPQExpBuffer(&buf, " AND n.nspname <> 'pg_catalog'\n");
2104+
appendPQExpBuffer(&buf, " AND n.nspname <> 'pg_catalog'\n"
2105+
" AND n.nspname <> 'information_schema'\n");
20922106

20932107
processSQLNamePattern(pset.db, &buf, pattern, true, false,
20942108
"n.nspname", "t.typname", NULL,
@@ -2143,7 +2157,8 @@ listConversions(const char *pattern, bool showSystem)
21432157
gettext_noop("Default?"));
21442158

21452159
if (!showSystem && !pattern)
2146-
appendPQExpBuffer(&buf, " AND n.nspname <> 'pg_catalog'\n");
2160+
appendPQExpBuffer(&buf, " AND n.nspname <> 'pg_catalog'\n"
2161+
" AND n.nspname <> 'information_schema'\n");
21472162

21482163
processSQLNamePattern(pset.db, &buf, pattern, true, false,
21492164
"n.nspname", "c.conname", NULL,

0 commit comments

Comments
 (0)