我该如何使用一个语句向用户授予对所有序列的SELECT权限?类似于:
GRANT SELECT ON <ALL SEQUENCES???> TO myUser
我该如何使用一个语句向用户授予对所有序列的SELECT权限?类似于:
GRANT SELECT ON <ALL SEQUENCES???> TO myUser
GRANT SELECT
ON ALL SEQUENCES IN SCHEMA schema_name
TO role_name
该角色可以是组角色或登录角色(用户名)。
这将来会非常有用:
GRANT ALL PRIVILEGES ON ALL TABLES IN SCHEMA schema_name TO your_user;
GRANT ALL PRIVILEGES ON ALL SEQUENCES IN SCHEMA schema_name TO your_user;
GRANT ALL PRIVILEGES ON ALL FUNCTIONS IN SCHEMA schema_name TO your_user;
对于我来说,已接受的答案在9.1上没用。下面的语句确实有效:
GRANT ALL ON ALL SEQUENCES IN SCHEMA public TO user;
SELECT
和 USAGE
。 - Arran Cudbard-Bell它适用于Postgres 13
GRANT USAGE, SELECT ON ALL SEQUENCES IN SCHEMA public TO admin;
对于低于9.0版本的Postgres
psql -d DBNAME -qAt -c "SELECT 'GRANT SELECT ON ' || relname || ' TO USER;' FROM pg_statio_all_sequences WHERE schemaname = 'public'" | psql -d DBNAME
参考:http://gotochriswest.com/blog/2012/06/11/postgresql-granting-access-to-all-sequences/
这篇文章介绍了如何授予用户访问PostgreSQL数据库中所有序列的权限。为了授权,需要使用以下命令:GRANT USAGE, SELECT ON ALL SEQUENCES IN SCHEMA public TO <user>;
GRANT pg_read_all_data TO USER;
-- SELECT on all tables, views, and sequences. USAGE of all schemas.
GRANT pg_write_all_data TO USER;
-- INSERT, UPDATE, DELETE on all tables, views, and sequences. Usage of all schemas.