1つのステートメントを使用して、すべてのシーケンスに対するSELECT権限をユーザーに付与する方法を教えてください。次のようなものがあります。1つのステートメントを使用するすべてのシーケンスに対するGRANT SELECT権限
GRANT SELECT ON <ALL SEQUENCES???> TO myUser
1つのステートメントを使用して、すべてのシーケンスに対するSELECT権限をユーザーに付与する方法を教えてください。次のようなものがあります。1つのステートメントを使用するすべてのシーケンスに対するGRANT SELECT権限
GRANT SELECT ON <ALL SEQUENCES???> TO myUser
PostgreSQL 9.xでは、1つのスキーマ内のすべてのシーケンスに対する権限をロールに付与できます。 syntaxは、役割グループの役割またはログインロール(ユーザー名)のいずれかになります
GRANT SELECT
ON ALL SEQUENCES IN SCHEMA schema_name
TO role_name
です。
はPostgresのバージョンではより低い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
参考:http://gotochriswest.com/blog/2012/06/11/postgresql-granting-access-to-all-sequences/
受け入れ答えがいけないが9.1に私のために働きました。以下の文が機能しました:
SCHEMAのすべての配列に付与します。
これは、将来的に非常に有用であろう:
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.2.4で私のために働いた –
実際にシーケンスを変更したい場合は 'SELECT、USAGE'が必要です –