Vla*_*lad 0 postgresql security permissions pgadmin drop-table
我读到只有所有者可以删除表,其他用户不能这样做。
我用所有者创建了一个表,postgres然后将它作为另一个用户删除。我应该撤销哪些特权来禁止它?
用户在 db 属性中拥有默认授予的所有权限,但我没有看到任何“创建表”或“删除表”权限。
超级用户总是免于低权限检查。文档:
超级用户状态
数据库超级用户绕过所有权限检查,除了登录权限。这是一个危险的权限,不应粗心使用;...
要查看您当前的用户是否是超级用户:
SHOW IS_SUPERUSER;
Run Code Online (Sandbox Code Playgroud)
列出所有超级用户角色:
SELECT rolname FROM pg_roles WHERE rolsuper;
Run Code Online (Sandbox Code Playgroud)
和模式所有者可以做到这一点。的文档DROP TABLE:
只有表所有者、模式所有者和超级用户才能删除表。
列出架构所有者:
SELECT n.nspname AS schema_name, pg_get_userbyid(n.nspowner) AS owner
FROM pg_namespace n
WHERE n.nspname NOT LIKE 'pg_%'
AND n.nspname <> 'information_schema'
ORDER BY 1;
Run Code Online (Sandbox Code Playgroud)
与\dn在 psql 中大致相同。
SELECT current_user, session_user;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3283 次 |
| 最近记录: |