Làm thế nào tôi có thể cấp đặc quyền SELECT trên tất cả các trình tự cho người dùng bằng một câu lệnh? Mọi thứ như:Đặc quyền GRANT SELECT cho TẤT CẢ các trình tự sử dụng một câu lệnh
GRANT SELECT ON <ALL SEQUENCES???> TO myUser
Làm thế nào tôi có thể cấp đặc quyền SELECT trên tất cả các trình tự cho người dùng bằng một câu lệnh? Mọi thứ như:Đặc quyền GRANT SELECT cho TẤT CẢ các trình tự sử dụng một câu lệnh
GRANT SELECT ON <ALL SEQUENCES???> TO myUser
Trong PostgreSQL 9.x, bạn có thể cấp quyền trên tất cả các chuỗi trong một lược đồ cho một vai trò. syntax là
GRANT SELECT
ON ALL SEQUENCES IN SCHEMA schema_name
TO role_name
Vai trò có thể là vai trò nhóm hoặc vai trò đăng nhập (tên người dùng).
Đối với phiên bản Postgres thấp hơn 9,0
psql -d DBNAME -qAt -c "SELECT 'GRANT SELECT ON ' || relname || ' TO USER;' FROM pg_statio_all_sequences WHERE schemaname = 'public'" | psql -d DBNAME
Ref: http://gotochriswest.com/blog/2012/06/11/postgresql-granting-access-to-all-sequences/
Câu trả lời dont chấp nhận làm việc cho tôi trên 9.1. Câu bên dưới đã hoạt động:
CẤP TẤT CẢ CÁC TẤT CẢ CÁC TÌNH HÌNH TRONG SCHEMA công khai CHO người dùng;
này sẽ rất hữu ích trong tương lai:
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;
cảm ơn! tương tự, điều này làm việc cho tôi trên 9.2.4 –
bạn cần 'CHỌN, SỬ DỤNG 'nếu bạn muốn thực sự sửa đổi chuỗi –