Skip to content
Snippets Groups Projects
Commit a87f15d5 authored by Andrew Dunstan's avatar Andrew Dunstan
Browse files

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

parent c0b1b01e
No related branches found
No related tags found
No related merge requests found
<!--
$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
-->
......@@ -405,10 +405,12 @@ GRANT <replaceable class="PARAMETER">role</replaceable> [, ...] TO <replaceable
to obtain information about existing privileges, for example:
<programlisting>
=&gt; \z mytable
Access privileges for database "lusitania"
Schema | Name | Type | Access privileges
--------+---------+-------+---------------------------------------------------
public | mytable | table | {miriam=arwdxt/miriam,=r/miriam,admin=arw/miriam}
Access privileges for database "lusitania"
Schema | Name | Type | Access privileges
--------+---------+-------+----------------------
public | mytable | table | miriam=arwdxt/miriam
: =r/miriam
: admin=arw/miriam
(1 row)
</programlisting>
The entries shown by <command>\z</command> are interpreted thus:
......
......@@ -3,7 +3,7 @@
*
* 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 "describe.h"
......@@ -493,7 +493,7 @@ permissionsList(const char *pattern)
"SELECT n.nspname 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"
" c.relacl as \"%s\"\n"
" pg_catalog.array_to_string(c.relacl, E'\\n') as \"%s\"\n"
"FROM pg_catalog.pg_class c\n"
" LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespace\n"
"WHERE c.relkind IN ('r', 'v', 'S')\n",
......
......@@ -68,19 +68,21 @@ NOTICE: CREATE TABLE / PRIMARY KEY will create implicit index "deptest_pkey" fo
GRANT ALL ON deptest1 TO regression_user2;
RESET SESSION AUTHORIZATION;
\z deptest1
Access privileges for database "regression"
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}
Access privileges for database "regression"
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
(1 row)
DROP OWNED BY regression_user1;
-- all grants revoked
\z deptest1
Access privileges for database "regression"
Schema | Name | Type | Access privileges
--------+----------+-------+--------------------------------------------
public | deptest1 | table | {regression_user0=arwdxt/regression_user0}
Access privileges for database "regression"
Schema | Name | Type | Access privileges
--------+----------+-------+------------------------------------------
public | deptest1 | table | regression_user0=arwdxt/regression_user0
(1 row)
-- table was dropped
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment