Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Rimuove un utente da un database. È possibile rimuovere più utenti con un singolo comando DROP USER. È necessario essere un superutente del database o disporre dell'autorizzazione DROP USER per eseguire questo comando.
Sintassi
DROP USER [ IF EXISTS ] name [, ... ]
Parametri
- IF EXISTS
-
Clausola che stabilisce che se l'utente specificato non esiste, il comando non deve apportare modifiche e deve restituire un messaggio indicante che l'utente non esiste, piuttosto che terminare con un errore.
Questa clausola è utile durante lo scripting, in modo che lo script abbia esito positivo se DROP USER viene eseguito su un utente inesistente.
- name
-
Nome dell'utente da rimuovere. Puoi specificare più utenti, usando una virgola per separare ciascun nome dal successivo.
Note per l'utilizzo
Non puoi eliminare l'utente denominato rdsdb
o l'utente amministratore del database che in genere è denominato awsuser
o admin
.
Non puoi rimuovere un utente se questo possiede un oggetto di database, come uno schema, un database, una tabella o una vista oppure se l'utente ha privilegi su un database, una tabella, una colonna o un gruppo. Se tenti di rimuovere un utente di questo tipo, verrà restituito uno dei seguenti errori.
ERROR: user "username" can't be dropped because the user owns some object [SQL State=55006]
ERROR: user "username" can't be dropped because the user has a privilege on some object [SQL State=55006]
Per istruzioni dettagliate su come trovare gli oggetti di proprietà di un utente del database, consulta How do I resolve the "user cannot be dropped" error in Amazon Redshift?
Nota
Amazon Redshift controlla solo il database corrente prima di rimuovere un utente. DROP USER non restituisce un errore se l'utente possiede oggetti di database o ha privilegi su oggetti in un altro database. Se rimuovi un utente proprietario di oggetti in un altro database, il proprietario di tali oggetti viene modificato in 'unknown'.
Se un utente è proprietario di un oggetto, prima rimuovi l'oggetto o passa la proprietà a un altro utente prima di rimuovere l'utente originale. Se l'utente ha i privilegi per un oggetto, revoca i privilegi prima di rimuovere l'utente. L'esempio seguente mostra come rimuovere un oggetto, modificare la proprietà e revocare i privilegi prima di rimuovere l'utente.
drop database dwdatabase;
alter schema dw owner to dwadmin;
revoke all on table dwtable from dwuser;
drop user dwuser;
Esempi
L'esempio seguente rimuove un utente chiamato paulo:
drop user paulo;
L'esempio seguente rimuove due utenti, paulo e martha:
drop user paulo, martha;
L'esempio seguente rimuove l'utente paulo, se esiste, oppure non viene eseguita alcuna operazione e viene restituito un messaggio se l'utente è inesistente:
drop user if exists paulo;