diff options
author | Bruce Momjian <bruce@momjian.us> | 2004-07-13 16:48:16 +0000 |
---|---|---|
committer | Bruce Momjian <bruce@momjian.us> | 2004-07-13 16:48:16 +0000 |
commit | bbcee544aa551ada483281723faa6cea3b279e84 (patch) | |
tree | 8805b4767879c83a2b62de158b4618e6573280ca /src/bin/psql/describe.c | |
parent | dc0e76ca36b4f7b91c3b83e53012585c5eccbe98 (diff) | |
download | postgresql-bbcee544aa551ada483281723faa6cea3b279e84.tar.gz postgresql-bbcee544aa551ada483281723faa6cea3b279e84.zip |
Have \dn+ show permissions and description for schemas.
Dennis Bjorklund
Diffstat (limited to 'src/bin/psql/describe.c')
-rw-r--r-- | src/bin/psql/describe.c | 22 |
1 files changed, 15 insertions, 7 deletions
diff --git a/src/bin/psql/describe.c b/src/bin/psql/describe.c index e9758ec0837..432063640db 100644 --- a/src/bin/psql/describe.c +++ b/src/bin/psql/describe.c @@ -3,7 +3,7 @@ * * Copyright (c) 2000-2003, PostgreSQL Global Development Group * - * $PostgreSQL: pgsql/src/bin/psql/describe.c,v 1.101 2004/07/13 02:46:21 momjian Exp $ + * $PostgreSQL: pgsql/src/bin/psql/describe.c,v 1.102 2004/07/13 16:48:16 momjian Exp $ */ #include "postgres_fe.h" #include "describe.h" @@ -1693,7 +1693,7 @@ listCasts(const char *pattern) * Describes schemas (namespaces) */ bool -listSchemas(const char *pattern) +listSchemas(const char *pattern, bool verbose) { PQExpBufferData buf; PGresult *res; @@ -1702,13 +1702,21 @@ listSchemas(const char *pattern) initPQExpBuffer(&buf); printfPQExpBuffer(&buf, "SELECT n.nspname AS \"%s\",\n" - " u.usename AS \"%s\"\n" - "FROM pg_catalog.pg_namespace n LEFT JOIN pg_catalog.pg_user u\n" + " u.usename AS \"%s\"", + _("Name"), _("Owner")); + + if (verbose) + appendPQExpBuffer(&buf, + ",\n n.nspacl as \"%s\"," + " pg_catalog.obj_description(n.oid, 'pg_namespace') as \"%s\"", + _("Access privileges"), _("Description")); + + appendPQExpBuffer(&buf, + "\nFROM pg_catalog.pg_namespace n LEFT JOIN pg_catalog.pg_user u\n" " ON n.nspowner=u.usesysid\n" "WHERE (n.nspname NOT LIKE 'pg\\\\_temp\\\\_%%' OR\n" - " n.nspname = (pg_catalog.current_schemas(true))[1])\n", /* temp schema is first */ - _("Name"), - _("Owner")); + " n.nspname = (pg_catalog.current_schemas(true))[1])\n"); /* temp schema is first */ + processNamePattern(&buf, pattern, true, false, NULL, "n.nspname", NULL, NULL); |