Christopher Kings-Lynne wrote:
> > With \dp having a schema column, how would we display permissions there?
> > 
> >        Access privileges for database "test"
> >      Schema | Name | Type  | Access privileges
> >     --------+------+-------+-------------------
> >      public | test | table |
> >     (1 row)
> > 
> > I don't think it makes sense to add schema to \dp if it would not
> > normally appear in the \dp display.
> > 
> > I figured schema permissions were different enough from table that is
> > belonged under schema, no?  Also, to me view/table/sequence are data
> > storage objects, while schemas seem different.
> 
> Don't forget \db for tablespaces as well - that should work the same as 
> \dn wrt permissions display.

OK, done and applied:
        
        test=> \db
               List of tablespaces
            Name    |  Owner   | Location
        ------------+----------+----------
         pg_default | postgres |
         pg_global  | postgres |
         temp       | postgres | /bjm/tmp
        (3 rows)
        
        test=> \db+
                                 List of tablespaces
            Name    |  Owner   | Location |         Access privileges
        ------------+----------+----------+-----------------------------------
         pg_default | postgres |          |
         pg_global  | postgres |          |

Tablespaces, being global, don't have comments so I didn't do that part.

-- 
  Bruce Momjian                        |  http://candle.pha.pa.us
  [EMAIL PROTECTED]               |  (610) 359-1001
  +  If your life is a hard drive,     |  13 Roberts Road
  +  Christ can be your backup.        |  Newtown Square, Pennsylvania 19073
Index: doc/src/sgml/ref/psql-ref.sgml
===================================================================
RCS file: /cvsroot/pgsql-server/doc/src/sgml/ref/psql-ref.sgml,v
retrieving revision 1.118
diff -c -c -r1.118 psql-ref.sgml
*** doc/src/sgml/ref/psql-ref.sgml      13 Jul 2004 16:48:15 -0000      1.118
--- doc/src/sgml/ref/psql-ref.sgml      15 Jul 2004 03:53:16 -0000
***************
*** 832,837 ****
--- 832,839 ----
          Lists all available tablespaces. If <replaceable
          class="parameter">pattern</replaceable>
          is specified, only tablespaces whose names match the pattern are shown.
+         If <literal>+</literal> is appended to the command name, each object 
+         is listed with its associated permissions.
          </para>
          </listitem>
        </varlistentry>
Index: src/bin/psql/command.c
===================================================================
RCS file: /cvsroot/pgsql-server/src/bin/psql/command.c,v
retrieving revision 1.121
diff -c -c -r1.121 command.c
*** src/bin/psql/command.c      13 Jul 2004 16:48:16 -0000      1.121
--- src/bin/psql/command.c      15 Jul 2004 03:53:26 -0000
***************
*** 302,308 ****
                                success = describeAggregates(pattern, show_verbose);
                                break;
                        case 'b':
!                               success = describeTablespaces(pattern);
                                break;
                        case 'c':
                                success = listConversions(pattern);
--- 302,308 ----
                                success = describeAggregates(pattern, show_verbose);
                                break;
                        case 'b':
!                               success = describeTablespaces(pattern, show_verbose);
                                break;
                        case 'c':
                                success = listConversions(pattern);
Index: src/bin/psql/describe.c
===================================================================
RCS file: /cvsroot/pgsql-server/src/bin/psql/describe.c,v
retrieving revision 1.102
diff -c -c -r1.102 describe.c
*** src/bin/psql/describe.c     13 Jul 2004 16:48:16 -0000      1.102
--- src/bin/psql/describe.c     15 Jul 2004 03:53:26 -0000
***************
*** 106,112 ****
   * Takes an optional regexp to select particular tablespaces
   */
  bool
! describeTablespaces(const char *pattern)
  {
        PQExpBufferData buf;
        PGresult   *res;
--- 106,112 ----
   * Takes an optional regexp to select particular tablespaces
   */
  bool
! describeTablespaces(const char *pattern, bool verbose)
  {
        PQExpBufferData buf;
        PGresult   *res;
***************
*** 117,126 ****
        printfPQExpBuffer(&buf,
                                          "SELECT spcname AS \"%s\",\n"
                                          "  pg_catalog.pg_get_userbyid(spcowner) AS 
\"%s\",\n"
!                                         "  spclocation AS \"%s\"\n"
!                                         "FROM pg_catalog.pg_tablespace\n",
                                          _("Name"), _("Owner"), _("Location"));
  
        processNamePattern(&buf, pattern, false, false,
                                           NULL, "spcname", NULL,
                                           NULL);
--- 117,133 ----
        printfPQExpBuffer(&buf,
                                          "SELECT spcname AS \"%s\",\n"
                                          "  pg_catalog.pg_get_userbyid(spcowner) AS 
\"%s\",\n"
!                                         "  spclocation AS \"%s\"",
                                          _("Name"), _("Owner"), _("Location"));
  
+       if (verbose)
+               appendPQExpBuffer(&buf,
+                       ",\n  spcacl as \"%s\"",
+                       _("Access privileges"));
+                                                 
+       appendPQExpBuffer(&buf,
+                                         "\nFROM pg_catalog.pg_tablespace\n");
+ 
        processNamePattern(&buf, pattern, false, false,
                                           NULL, "spcname", NULL,
                                           NULL);
Index: src/bin/psql/describe.h
===================================================================
RCS file: /cvsroot/pgsql-server/src/bin/psql/describe.h,v
retrieving revision 1.25
diff -c -c -r1.25 describe.h
*** src/bin/psql/describe.h     13 Jul 2004 16:48:16 -0000      1.25
--- src/bin/psql/describe.h     15 Jul 2004 03:53:26 -0000
***************
*** 14,20 ****
  bool          describeAggregates(const char *pattern, bool verbose);
  
  /* \db */
! bool          describeTablespaces(const char *pattern);
  
  /* \df */
  bool          describeFunctions(const char *pattern, bool verbose);
--- 14,20 ----
  bool          describeAggregates(const char *pattern, bool verbose);
  
  /* \db */
! bool          describeTablespaces(const char *pattern, bool verbose);
  
  /* \df */
  bool          describeFunctions(const char *pattern, bool verbose);
Index: src/bin/psql/help.c
===================================================================
RCS file: /cvsroot/pgsql-server/src/bin/psql/help.c,v
retrieving revision 1.89
diff -c -c -r1.89 help.c
*** src/bin/psql/help.c 13 Jul 2004 16:48:16 -0000      1.89
--- src/bin/psql/help.c 15 Jul 2004 03:53:26 -0000
***************
*** 211,217 ****
        fprintf(output, _("  \\d{t|i|s|v|S} [PATTERN] (add \"+\" for more detail)\n"
                                          "                 list 
tables/indexes/sequences/views/system tables\n"));
        fprintf(output, _("  \\da [PATTERN]  list aggregate functions\n"));
!       fprintf(output, _("  \\db [PATTERN]  list tablespaces\n"));
        fprintf(output, _("  \\dc [PATTERN]  list conversions\n"));
        fprintf(output, _("  \\dC            list casts\n"));
        fprintf(output, _("  \\dd [PATTERN]  show comment for object\n"));
--- 211,217 ----
        fprintf(output, _("  \\d{t|i|s|v|S} [PATTERN] (add \"+\" for more detail)\n"
                                          "                 list 
tables/indexes/sequences/views/system tables\n"));
        fprintf(output, _("  \\da [PATTERN]  list aggregate functions\n"));
!       fprintf(output, _("  \\db [PATTERN]  list tablespaces (add \"+\" for more 
detail)\n"));
        fprintf(output, _("  \\dc [PATTERN]  list conversions\n"));
        fprintf(output, _("  \\dC            list casts\n"));
        fprintf(output, _("  \\dd [PATTERN]  show comment for object\n"));
---------------------------(end of broadcast)---------------------------
TIP 5: Have you checked our extensive FAQ?

               http://www.postgresql.org/docs/faqs/FAQ.html

Reply via email to