查看 postgresql表postgresql有的权限
时间: 2023-08-05 12:02:00 浏览: 126
您可以使用以下查询来查看 PostgreSQL 数据库中表的所有权限:
```
SELECT grantee,
privilege_type
FROM information_schema.table_privileges
WHERE table_schema = 'public' -- 更改为您想要查看的模式
AND table_name = 'your_table_name'; -- 更改为您想要查看的表名
```
这将列出公共模式(`public`)下指定表的所有权限及其授予者。如果您想查看特定模式下的所有表的权限,请更改 `table_schema` 条件为所需的模式名称,而不是 `public`。
相关问题
查看 postgresql表有用的权限
您可以使用以下查询来查看 PostgreSQL 数据库中表的权限:
```
SELECT usename as username,
schemaname,
tablename,
has_table_privilege(usename, schemaname || '.' || tablename, 'SELECT') as select,
has_table_privilege(usename, schemaname || '.' || tablename, 'INSERT') as insert,
has_table_privilege(usename, schemaname || '.' || tablename, 'UPDATE') as update,
has_table_privilege(usename, schemaname || '.' || tablename, 'DELETE') as delete
FROM pg_tables
CROSS JOIN pg_user
WHERE schemaname NOT LIKE 'pg_%'
AND schemaname != 'information_schema';
```
这将列出所有非系统模式(`pg_%`)和 `information_schema` 模式下的表,以及它们的 `SELECT`、`INSERT`、`UPDATE` 和 `DELETE` 权限。如果用户对特定表有相关权限,则相应的列将显示为 `true`,否则为 `false`。
postgresql权限
PostgreSQL中的权限控制是一种安全机制,允许管理员控制用户对数据库和表的访问权限。以下是一些PostgreSQL权限的列表:
1. CONNECT权限:允许用户连接到数据库服务器,但不允许对任何对象进行操作。
2. CREATE权限:允许用户创建新的表、索引或其他对象。
3. SELECT权限:允许用户查询表中的数据。
4. INSERT权限:允许用户将新的数据插入到表中。
5. UPDATE权限:允许用户更新表中的数据。
6. DELETE权限:允许用户删除表中的数据。
7. EXECUTE权限:允许用户执行存储过程或函数。
8. USAGE权限:允许用户使用一个对象,例如序列或视图,但不允许对其进行修改。
9. GRANT权限:允许用户授予其他用户访问权限。
10. SUPERUSER权限:允许用户执行所有操作,包括管理其他用户和更改数据库设置。
管理员可以使用GRANT和REVOKE命令为用户授予或撤销上述权限。例如,使用GRANT SELECT ON table_name TO user_name命令,可以为用户授予对特定表的SELECT权限。
阅读全文