postgres给一个账号某个schema 下表 的删除权限
时间: 2024-03-03 07:47:45 浏览: 15
可以使用如下命令给某个账号在指定的schema下的某个表授予删除权限:
```sql
GRANT DELETE ON TABLE table_name TO account_name;
```
其中,`table_name`是你要授权的表名称,`account_name`是你要授权的账号名称。此命令将授予账号在指定表上的DELETE权限。如果你要授予账号在指定schema下所有表的DELETE权限,可以将`TABLE table_name`替换为`ALL TABLES IN SCHEMA schema_name`。
相关问题
postgres给一个账号某个schema 下表 的所有权限
可以使用如下命令给某个账号在指定的schema下的所有表授予所有权限:
```sql
GRANT ALL PRIVILEGES ON ALL TABLES IN SCHEMA schema_name TO account_name;
```
其中,`schema_name`是你要授权的schema名称,`account_name`是你要授权的账号名称。此命令将授予账号在指定schema下所有表的所有权限,包括SELECT、INSERT、UPDATE、DELETE等。
postgres 授权某个schema 下所有表给用户 查权限
要将某个schema下的所有表授权给某个用户,可以使用以下命令:
```
GRANT ALL PRIVILEGES ON ALL TABLES IN SCHEMA schema_name TO user_name;
```
其中,`schema_name`是要授权的schema的名称,`user_name`是要授权的用户的名称。
如果想要查看某个用户对某个schema下的所有表的权限,可以使用以下命令:
```
SELECT table_name, has_table_privilege('user_name', table_name, 'SELECT') AS select_permission, has_table_privilege('user_name', table_name, 'INSERT') AS insert_permission, has_table_privilege('user_name', table_name, 'UPDATE') AS update_permission, has_table_privilege('user_name', table_name, 'DELETE') AS delete_permission
FROM information_schema.tables
WHERE table_schema = 'schema_name';
```
其中,`user_name`是要查询的用户的名称,`schema_name`是要查询的schema的名称。这个命令会返回一个表格,其中包含了schema下所有表的名称以及该用户对这些表的SELECT、INSERT、UPDATE和DELETE权限。如果返回的值为`true`,表示该用户具有相应的权限;如果返回的值为`false`,则表示该用户不具有相应的权限。