PostgreSQL Database Permission List

PostgreSQL Database Permission List , 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