Display ACLS using multiple lines for psql's \z. Brendan Jurd.

This commit is contained in:
Andrew Dunstan 2008-05-05 01:21:03 +00:00
parent c0b1b01ef5
commit a87f15d506
3 changed files with 19 additions and 15 deletions

View File

@ -1,5 +1,5 @@
<!-- <!--
$PostgreSQL: pgsql/doc/src/sgml/ref/grant.sgml,v 1.67 2007/10/30 19:43:30 tgl Exp $ $PostgreSQL: pgsql/doc/src/sgml/ref/grant.sgml,v 1.68 2008/05/05 01:21:03 adunstan Exp $
PostgreSQL documentation PostgreSQL documentation
--> -->
@ -405,10 +405,12 @@ GRANT <replaceable class="PARAMETER">role</replaceable> [, ...] TO <replaceable
to obtain information about existing privileges, for example: to obtain information about existing privileges, for example:
<programlisting> <programlisting>
=&gt; \z mytable =&gt; \z mytable
Access privileges for database "lusitania" Access privileges for database "lusitania"
Schema | Name | Type | Access privileges Schema | Name | Type | Access privileges
--------+---------+-------+--------------------------------------------------- --------+---------+-------+----------------------
public | mytable | table | {miriam=arwdxt/miriam,=r/miriam,admin=arw/miriam} public | mytable | table | miriam=arwdxt/miriam
: =r/miriam
: admin=arw/miriam
(1 row) (1 row)
</programlisting> </programlisting>
The entries shown by <command>\z</command> are interpreted thus: The entries shown by <command>\z</command> are interpreted thus:

View File

@ -3,7 +3,7 @@
* *
* Copyright (c) 2000-2008, PostgreSQL Global Development Group * Copyright (c) 2000-2008, PostgreSQL Global Development Group
* *
* $PostgreSQL: pgsql/src/bin/psql/describe.c,v 1.169 2008/05/05 00:11:31 adunstan Exp $ * $PostgreSQL: pgsql/src/bin/psql/describe.c,v 1.170 2008/05/05 01:21:03 adunstan Exp $
*/ */
#include "postgres_fe.h" #include "postgres_fe.h"
#include "describe.h" #include "describe.h"
@ -493,7 +493,7 @@ permissionsList(const char *pattern)
"SELECT n.nspname as \"%s\",\n" "SELECT n.nspname as \"%s\",\n"
" c.relname as \"%s\",\n" " c.relname as \"%s\",\n"
" CASE c.relkind WHEN 'r' THEN '%s' WHEN 'v' THEN '%s' WHEN 'S' THEN '%s' END as \"%s\",\n" " CASE c.relkind WHEN 'r' THEN '%s' WHEN 'v' THEN '%s' WHEN 'S' THEN '%s' END as \"%s\",\n"
" c.relacl as \"%s\"\n" " pg_catalog.array_to_string(c.relacl, E'\\n') as \"%s\"\n"
"FROM pg_catalog.pg_class c\n" "FROM pg_catalog.pg_class c\n"
" LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespace\n" " LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespace\n"
"WHERE c.relkind IN ('r', 'v', 'S')\n", "WHERE c.relkind IN ('r', 'v', 'S')\n",

View File

@ -68,19 +68,21 @@ NOTICE: CREATE TABLE / PRIMARY KEY will create implicit index "deptest_pkey" fo
GRANT ALL ON deptest1 TO regression_user2; GRANT ALL ON deptest1 TO regression_user2;
RESET SESSION AUTHORIZATION; RESET SESSION AUTHORIZATION;
\z deptest1 \z deptest1
Access privileges for database "regression" Access privileges for database "regression"
Schema | Name | Type | Access privileges Schema | Name | Type | Access privileges
--------+----------+-------+------------------------------------------------------------------------------------------------------------------------------------ --------+----------+-------+------------------------------------------------
public | deptest1 | table | {regression_user0=arwdxt/regression_user0,regression_user1=a*r*w*d*x*t*/regression_user0,regression_user2=arwdxt/regression_user1} public | deptest1 | table | regression_user0=arwdxt/regression_user0
: regression_user1=a*r*w*d*x*t*/regression_user0
: regression_user2=arwdxt/regression_user1
(1 row) (1 row)
DROP OWNED BY regression_user1; DROP OWNED BY regression_user1;
-- all grants revoked -- all grants revoked
\z deptest1 \z deptest1
Access privileges for database "regression" Access privileges for database "regression"
Schema | Name | Type | Access privileges Schema | Name | Type | Access privileges
--------+----------+-------+-------------------------------------------- --------+----------+-------+------------------------------------------
public | deptest1 | table | {regression_user0=arwdxt/regression_user0} public | deptest1 | table | regression_user0=arwdxt/regression_user0
(1 row) (1 row)
-- table was dropped -- table was dropped