PostgreSQL'de izinleri ayarlama konusunda biraz kafam karıştı.
Bu rollere sahibim:
List of roles
Role name | Attributes | Member of
-----------+------------------------------------------------+-----------
admin | Superuser, Create role, Create DB, Replication | {}
meltemi | Create role, Create DB | {rails}
rails | Create DB, Cannot login | {}
myapp | | {rails}
ve veritabanları:
List of databases
Name | Owner | Encoding | Collate | Ctype | Access privileges
---------------------+--------+----------+-------------+-------------+-------------------
myapp_production | rails | UTF8 | en_US.UTF-8 | en_US.UTF-8 |
...
kullanıcı kayıt ekleme ve silme veritabanını myapp
sorgulamakta sorun yok myapp_production
. meltemi
Aynı veritabanını da sorgulayabilmek istiyorum . Yani, bir rol yarattı rails
veritabanı sahibi ve hem yapılmış meltemi
ve myapp
üyelerini rails
. Ama yine de permission denied for relation
hata alıyorum . Meltemi
şemayı görüntüleyebilir ancak DB'yi sorgulayamaz.
Ben sadece ( \dt
komut ile) myapp
tabloların sahibi olduğunu fark ettim :
List of relations
Schema | Name | Type | Owner
--------+-------------------+-------+-------
public | events | table | myapp
public | schema_migrations | table | myapp
...
public | users | table | myapp
...
Tablolar bir ORM (Rails ActiveRecord geçişleri) ile oluşturulmuştur.
PostgreSQL'de yetkilendirmenin çok farklı olduğunu biliyorum (MySQL ve kullandığım diğerlerinin aksine). Veritabanımı farklı kullanıcıların erişebilmesi için nasıl ayarlamalıyım? Bazıları CRUD yapabilmeli, bazıları ise sadece Okuyabilir vs.
Herhangi bir yardım için teşekkürler. Üzgünüm, bunun çok basit bir soru olduğunu biliyorum ama cevabı kendim bulamadım.
myapp
yerine kullanmak isteyebilirsinizrails
? Çünkümyapp
tablolar sahibi (ben belirtti asla, göç olması gerekir). Ben adını Neyse, bu mantıklı sorta olurmyapp
üzeremyapp_group
ve daha sonra yeni bir kullanıcı yapılmışmyapp
DB bağlanmak için kullanacağı app raylar. Makemyapp
ve mevcutmeltemi
ait, iki üyemyapp_group
rolü. Ama bir sonraki geçişi çalıştırdığımda ne olacak. o mülkiyetinde olmayacakmyapp
yeniden oluşturma baştan sorunu?!?