已授予 Postgres 角色但因关系错误而拒绝获得权限
Postgres role granted but getting permission denied for relation error
我正在尝试为数据收集端点创建只写角色。
我的设计计划是:
- 创建只写角色,
- 将用户分配给该角色,
- 让端点后面的应用程序使用该角色
我已经创建了角色
CREATE ROLE new_write_only WITH
NOLOGIN
NOSUPERUSER
INHERIT
NOCREATEDB
NOCREATEROLE
NOREPLICATION
我已经创建了用户
CREATE USER " + user_name + "
VALID UNTIL 'infinity'
ENCRYPTED PASSWORD '" + password + "'
我将用户分配给角色
GRANT new_write_only TO " + user_name + "
然后我将 INSERT
权限分配给角色
GRANT INSERT ON target_table TO new_write_only
但是当我运行下面为user_name
INSERT INTO target_table (col_1, col_2, col_3) VALUES ('123abc', '{}', '2018-02-22 10:45:01.845539')
我明白了
permission denied for relation target_table
当我运行与table所有者相同时,没问题。
我还需要 GRANT USAGE
sequence
GRANT USAGE ON SEQUENCE target_table_row_id_seq TO new_write_only;
我正在尝试为数据收集端点创建只写角色。
我的设计计划是:
- 创建只写角色,
- 将用户分配给该角色,
- 让端点后面的应用程序使用该角色
我已经创建了角色
CREATE ROLE new_write_only WITH
NOLOGIN
NOSUPERUSER
INHERIT
NOCREATEDB
NOCREATEROLE
NOREPLICATION
我已经创建了用户
CREATE USER " + user_name + "
VALID UNTIL 'infinity'
ENCRYPTED PASSWORD '" + password + "'
我将用户分配给角色
GRANT new_write_only TO " + user_name + "
然后我将 INSERT
权限分配给角色
GRANT INSERT ON target_table TO new_write_only
但是当我运行下面为user_name
INSERT INTO target_table (col_1, col_2, col_3) VALUES ('123abc', '{}', '2018-02-22 10:45:01.845539')
我明白了
permission denied for relation target_table
当我运行与table所有者相同时,没问题。
我还需要 GRANT USAGE
sequence
GRANT USAGE ON SEQUENCE target_table_row_id_seq TO new_write_only;