Yanıtlar:
PUBLIC anahtar sözcüğü, daha sonra yaratılabilecek olanlar da dahil olmak üzere tüm rollere ayrıcalıkların verilmesi gerektiğini belirtir. KAMU, her zaman tüm rolleri içeren örtük olarak tanımlanmış bir grup olarak düşünülebilir. Herhangi bir özel rol, doğrudan kendisine verilen ayrıcalıkların, şu anda üyesi olduğu herhangi bir role verilen ayrıcalıkların ve KAMU'ya verilen ayrıcalıkların toplamına sahip olacaktır.
Bu doğru olsa da, tam resim değildir. Kamu ayrıca, diğer rollerin ait olduğu ve her zaman yansıtılmayan ve miras alındığı bildirilmeyen kendi izinlerine sahip olan örtük bir rol olarak da hareket eder.
Varsayılan olarak, genel şemada oluşturma izni verir. bunu kaldırmazsanız, salt okunur bir kullanıcı oluşturmak için diğer tüm doğru adımlar, o kullanıcının da genel şemada yeni nesneler oluşturabilmesi ve daha sonra sahiplik nedeniyle bunlara veri koymasıyla sonuçlanır. Bunu önlemek için
REVOKE ALL ON SCHEMA public FROM PUBLIC;
Benzer şekilde, kullanımı kaldırmak için veritabanı düzeyinde izin verir
REVOKE ALL ON DATABASE all_database FROM PUBLIC;
İyi makale burada: https://wiki.postgresql.org/images/d/d1/Managing_rights_in_postgresql.pdf