如何设置PostgreSQL schema权限?
- By : Will
- Category : PostgreSQL
PostgreSQL
1 前言
一个问题,一篇文章,一出故事。
笔者今天在一个未经测试的PostgreSQL版本中创建单库管理员权限,但是发现用户创建表时报错。
appDB=> CREATE TABLE test_table (id INT, name VARCHAR(50));
ERROR: permission denied for schema public
LINE 1: CREATE TABLE test_table (id INT, name VARCHAR(50));
^
appDB=>
2 最佳实践
2.1 测试环境
2.2 操作步骤
2.2.1 切换到需要授权的数据库
\c "appDB";
2.2.2 授予用户对public模式的创建权限和所有表的操作权限
GRANT CREATE, USAGE ON SCHEMA public TO "appUser";
2.2.3 授予如果后续操作已存在的表的表级权限
GRANT ALL PRIVILEGES ON ALL TABLES IN SCHEMA public TO "appUser";
2.2.4 授予序列权限(如果表有自增字段会用到)
GRANT ALL PRIVILEGES ON ALL SEQUENCES IN SCHEMA public TO "appUser";
没有评论