2010-01-08 30 views
7

Postgresql ile veritabanına sahip gibi davranan 2 kullanıcısı olan bir veritabanı oluşturmak mümkün mü?Aynı PostgreSQL veritabanının iki sahibi

Grup rolü oluşturabilir ve her iki kullanıcıyı da bu gruba ekleyebilir ve sonra da grubun sahibini veritabanının sahibi yapabilirim, ancak bu, her iki kullanıcının da her bağlantıda rollerini manüel olarak ayarlamasını gerektirir. diğer kullanıcı için erişilebilir oluşturduk. Grubun her oturum açışında veya aynı şeyi elde etmek için başka bir yolla bir kullanıcı için varsayılan rol yapmasını sağlamanın bir yolu var mı?

cevap

10

Hayır, her veritabanı sadece tek sahibi olabilir. Daha önce belirtildiği gibi, birden fazla süper kullanıcı olabilir veya özellikle devralınan grup rollerine izinler verebilirsiniz.

Sen soran olduğunuza benzeyen sahte bir şeye için bir yol, http://blog.hagander.net/archives/70-Faking-the-dbo-role.html bakmak isteyebilirsiniz

. Mükemmel değil, ama senin için yeterince iyi olabilir. Nesne mülkiyet problemini en azından çözebilmelidir. joe tarafından oluşturulan

+0

Evet, istediğimi yapıyor gibi görünüyor. Bu şekilde çalışmanın herhangi bir güvenlik etkisi olabilir? –

+0

Hayır, bu iyi olmalı. Yöneticileri yaparsanız, kasıtlı olarak bir şeyleri kırmayacaklarına inanırlar. Gibi, kullanıcı, kötü niyetli bir niyet varsa, orijinal rolünü hala geri alabilir. –

4

Ah buldum: "özniteliği devralır otomatik üye oldukları rollerin ayrıcalıklarının kullanımı var olan üye rolü" PostgreSQL Docs: Chapter 20. Database Roles and Privileges

CREATE ROLE joe LOGIN INHERIT; 
CREATE ROLE admin NOINHERIT; 
GRANT admin TO joe; 
"Derhal rol joe olarak bağladıktan sonra, bir veritabanı oturumu, yönetici verilen Joe doğrudan sağlanan haklardan artı ayrıcalıkları kullanımı olacak joe çünkü '' yöneticisinin ayrıcalıkları." Devralır

+0

Doğru, ancak tablolar grubundaki diğer kullanıcıların kendilerine erişimi yoktur demektir Joe değil yönetici, aittir. –

+0

Ancak, gruptaki diğer kullanıcılar tarafından oluşturulan tabloları içerecek şekilde, tüm tablolarda her şeyi yapma haklarına sahip 'yönetici' haklarına sahip olabilirsiniz. – Timothy

+0

Ancak, kullanıcıyla yaptığınız her bağlantı için yönetici rolünü manuel olarak ayarlamanız gerekmiyor. –