PostgreSQL de Database İçerisinde ki Yetkileri Görmek

Bir veritabanı içerisinde bazı durumlarda farklı bir kullanıcı oluşturup sadece bazı tablolara select ,insert,update,delete yetkisi vermemiz gerekiyor.  Tablo sayınız çok ve hangi tabloya ne yetki verdiğinizi görmek istiyorsanız aşağıdaki plpgsql scriptinden faydalanabilirsiniz.

SELECT grantee AS user, CONCAT(table_schema, '.', table_name) AS table, 
    CASE 
        WHEN COUNT(privilege_type) = 7 THEN 'ALL'
        ELSE ARRAY_TO_STRING(ARRAY_AGG(privilege_type), ', ')
    END AS grants
FROM information_schema.role_table_grants
where CONCAT(table_schema, '.', table_name) not like'%information_schema%' and grantee not like'%postgres%'  and grantee not like'%PUBLIC%' 
GROUP BY table_name, table_schema, grantee;

Yukarıdaki komutu çalıştırdığınız da aşağıdaki gibi tablo ve viewlerde bulunan yetkileri gösterecektir.

 

Loading

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Theme: Overlay by Kaira Extra Text
Cape Town, South Africa