pg库给用户新增public模式上表的创建权限
时间: 2023-11-27 12:06:23 浏览: 35
可以使用以下语句为用户授予在public schema上创建表的权限:
```
GRANT CREATE ON SCHEMA public TO username;
GRANT USAGE, SELECT, INSERT, UPDATE, DELETE ON ALL TABLES IN SCHEMA public TO username;
```
其中,username为需要授予权限的用户。执行以上语句后,该用户即可在public schema上创建表,并对该schema中的所有表具有使用、查询、插入、更新、删除的权限。
相关问题
pg数据库给整个库开视图给新用户
你可以按照以下步骤为新用户开放整个数据库的视图访问权限:
1. 进入PostgreSQL数据库命令行界面,使用超级用户登录。
2. 执行以下命令来创建一个新的用户:
```sql
CREATE USER new_user WITH PASSWORD 'password';
```
注意将"new_user"替换为你想要创建的新用户的用户名,并将"password"替换为该用户的密码。
3. 授予新用户访问数据库的权限:
```sql
GRANT CONNECT ON DATABASE your_database TO new_user;
```
将"your_database"替换为你要授权的数据库名称。
4. 授予新用户访问数据库中所有表的权限:
```sql
GRANT USAGE ON ALL TABLES IN SCHEMA public TO new_user;
```
该命令将授权新用户在"public"模式下访问所有表。如果你使用了其他模式,请将"public"替换为你的模式名称。
5. 授予新用户访问数据库中所有序列的权限:
```sql
GRANT USAGE ON ALL SEQUENCES IN SCHEMA public TO new_user;
```
该命令将授权新用户在"public"模式下访问所有序列。如果你使用了其他模式,请将"public"替换为你的模式名称。
6. 授予新用户访问数据库中所有视图的权限:
```sql
GRANT SELECT ON ALL TABLES IN SCHEMA public TO new_user;
```
该命令将授权新用户在"public"模式下访问所有视图。如果你使用了其他模式,请将"public"替换为你的模式名称。
7. 退出超级用户会话:
```sql
\q
```
现在新用户应该可以访问整个数据库的所有视图了。请确保新用户具有足够的权限来执行所需的操作,但不要授予过多的权限以避免安全问题。
pg 给已存在用户赋予超管权限
要给已存在的用户赋予超级管理员权限,你需要执行以下步骤:
1. 登录到 PostgreSQL 数据库服务器上,确保你具有超级管理员或具备足够权限的用户身份。
2. 打开一个命令行终端或使用图形化界面工具(如 pgAdmin)连接到 PostgreSQL 数据库。
3. 执行以下 SQL 命令,将指定用户添加到超级管理员角色:
```sql
ALTER USER username WITH SUPERUSER;
```
请将 `username` 替换为你想要赋予超级管理员权限的用户的用户名。
4. 确认命令已成功执行,并验证用户是否具有超级管理员权限。
请注意,赋予用户超级管理员权限是一个敏感操作,请确保只将这些权限授予可信任的用户,并且谨慎操作以避免安全风险。