Posts

Showing posts with the label User Permissions

Tablo Yetkilerinin Başka Tabloya Tanımlanması

Merhaba, Daha önce aldığım notun kaybolmaması adına bu yazıyı yazmak istedim. Paylaşacağım bu yazı içeriğinde yapılan işlemlerin sonucuna farklı yollardan da ulaşılabilir tabi.  Tabloların belirli kullanıcılar tarafından erişilebilir olması için kullanıcıların tablolar üzerinde yetkiye ihtiyaçları vardır. Bunun için Postgres, GRANT komutu kullanılır. GRANT ile ilgili detaylı bilgiye buradan ulaşabilirsiniz. Bir tablo üzerinde birden fazla kullanıcının farklı yetki tipinde yetkiye sahip olması olağandır. Belirli tablo üzerindeki kullanıcı yetkilerini aşağıdaki script ile görebilirsiniz. SELECT grantor, grantee, privilege_type   FROM information_schema.role_table_grants  WHERE table_schema ='public'  AND table_name = 'test_table';   Yeni bir tablo eklediniz ve mevcut tablonuzun üzerindeki kullanıcı yetkilerinin birebir yeni tablonuzda da olmasını isterseniz yukarıdaki scripti biraz daha değiştirerek GRANT scriptini SQL ile oluşturabilirsiniz.  Öncesinde yu

PostgreSQL Grant Privileges To a Role

Hi all, If you have lots of user and table/schema on your database you can not give permission per table but you can follow this steps. It's gonna be manual process but sometimes you can not give whole privileges on entire schema in your databases to users/roles. So, in that case you should generate your scripts. GRANT SELECT ON ALL TABLES IN SCHEMA schema_name TO your_role; GRANT USAGE ON SCHEMA schema_name TO your_role; GRANT EXECUTE ON ALL FUNCTIONS IN SCHEMA schema_name TO your_role; If you don't want to give all privileges and make specific for users also you can generate a sql script for whole schema for user or your all users like; Generate GRANT script for granting privileges whole schemas for a role; SELECT DISTINCT 'GRANT SELECT ON ALL TABLES IN SCHEMA '|| schemaname || 'TO user_role;' FROM pg_stat_user_tables; Generate USAGE script for whole schemas; SELECT DISTINCT 'GRANT USAGE ON SCHEMA '|| schemaname || 'TO user_role;