Postgresql Schema CREATE,USAGE ,ALL,SELECT,INSERT,DELETE Yetkisi vermek

Postgresql Schema CREATE,USAGE ,ALL,SELECT,INSERT,DELETE Yetkisi vermek

 

 

PostgreSQL de cluster ,database ve spesifik tablolara yetki vermekten bahsetmiştim .Bu yazımda şema da usage ,create ve all yetkilerinden bahsedeceğim.

Genel Kullanımı

GRANT CREATE,USAGE ON SCHEMA _ADI TO USER_ADI

İlk olarak yetkileri kısaca açıklayalım.

CREATE:  Şema içerisinde nesnelerin oluşturulmasına ve yeniden isimlendirilmesi için kullanılır.

USAGE : Şema içerisinde  bulunan nesnelere erişmek için kullanılır. Bu izin verilmediğinde ilgili sistem dmvleri ile görüntülenmektedir.

İlk olarak d1 şemasın da faruk kullanıcısına CREATE yetkisi tanımlayalım.

 

GRANT CREATE ON SCHEMA d1 TO faruk;

d1 şemasın da faruk kullanıcısına o şema içerisinde bulunan bütün Tablolara bütün yetkileri tanımlayalım.

GRANT ALL PRIVILEGES ON ALL TABLES IN SCHEMA d1 TO faruk ;

d1 şemasın da faruk kullanıcısına o şema içerisinde bulunan tüm tablolara select yetkisi tanımlayalım.

GRANT SELECT ON ALL TABLES IN SCHEMA d1 TO faruk ;

d1 şemasında faruk kullanıcısına o şema içerisinde bulunan tüm tablolara INSERT yetkisi tanımlayalım.

GRANT INSERT ON ALL TABLES IN SCHEMA d1 TO faruk ;

d1 şemasında faruk kullanıcısına o şema içerisinde bulunan tüm tablolara UPDATE yetkisi tanımlayalım.

GRANT UPDATE ON ALL TABLES IN SCHEMA d1 TO faruk ;

d1 şemasında faruk kullanıcısına o şema içerisinde bulunan tüm tablolara DELETE yetkisi tanımlayalım.

GRANT DELETE ON ALL TABLES IN SCHEMA d1 TO faruk ;

Yetki verdiğiniz fakat aşağıdaki gibi hata alıyorsanız.

 

ERROR:  permission denied for schema d1

 

Aşağıdaki gibi şema kullanma yetkisi vererek hatayı ortadan kaldırabilirsiniz.

 

GRANT USAGE ON SCHEMA "d1" TO faruk;

 

Loading