Due proprietari dello stesso database PostgreSQL
-
19-09-2019 - |
Domanda
E 'possibile con PostgreSQL per creare un database che dispone di 2 utenti che agiscono come proprietari nel database?
Posso creare un ruolo gruppo e aggiungere entrambi gli utenti a tale gruppo, e poi fare il gruppo proprietario del database, ma questo richiede sia agli utenti per essere necessario impostare manualmente il loro ruolo su ogni connessione di apportare le tabelle che hanno creato accessibile all'altro utente. C'è un modo per rendere il gruppo sia il ruolo predefinito per un utente ogni volta che il log-in o di qualsiasi altro modo per ottenere la stessa cosa?
Soluzione
No, ogni database può avere un solo proprietario. Come affermato in precedenza si può avere più di un superutente, oppure è possibile concedere le autorizzazioni specificamente ai ruoli di gruppo che vengono poi ereditati.
Si potrebbe desiderare di guardare http: // blog. hagander.net/archives/70-Faking-the-dbo-role.html, di un modo per qualcosa di falso simile a quello che stai chiedendo. Non è perfetto, ma potrebbe essere abbastanza buono per voi. Dovrebbe essere in grado di risolvere il problema oggetto di comproprietà, almeno.
Altri suggerimenti
Ah, trovato: PostgreSQL Docs: Capitolo 20. Ruoli del database e privilegi
"ruoli membri che hanno l'attributo INHERIT hanno automaticamente l'utilizzo dei privilegi di ruoli che sono membri".
CREATE ROLE joe LOGIN INHERIT;
CREATE ROLE admin NOINHERIT;
GRANT admin TO joe;
"Subito dopo il collegamento ed il ruolo di Joe, una sessione di database avrà uso di privilegi concessi direttamente a Joe più eventuali privilegi concessi a admin, perché Joe 'eredita' i privilegi di amministratore."