我使用 psql-command "\dp" 来找出给定的授权。
测试服务器上的版本:armv7l-unknown-linux-gnueabi 上的 PostgreSQL 9.1.15,由 gcc (Debian 4.6.3-14) 4.6.3 编译,32 位
在 postgres 手册中:
rolename=xxxx -- privileges granted to a role
=xxxx -- privileges granted to PUBLIC
r -- SELECT ("read")
w -- UPDATE ("write")
a -- INSERT ("append")
d -- DELETE
D -- TRUNCATE
x -- REFERENCES
t -- TRIGGER
X -- EXECUTE
U -- USAGE
C -- CREATE
c -- CONNECT
T -- TEMPORARY
arwdDxt -- ALL PRIVILEGES (for tables, varies for other objects)
* -- grant option for preceding privilege
/yyyy -- role that granted this privilege
当我启动命令时,在 acl 列的末尾有一个额外的加号(就在 postgres 之后)。我找不到任何关于它的文档。
postgres=# \dp test.*
Access privileges
Schema | Name | Type | Access privileges | Column access privileges
--------+-------+-------+---------------------------+--------------------------
test | films | table | postgres=arwdDxt/postgres+| code: +
| | | =arwdDxt/postgres | candando=r/postgres
加号是什么意思?
该加号表示数据跨越多列。您也可以使用其他多行值来获得它,而不仅仅是
\dp