Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Entfernt einen Benutzer aus einer Datenbank. Mit einem einzigen DROP USER-Befehl können mehrere Benutzer entfernt werden. Sie müssen ein Datenbank-Superuser sein oder über die DROP USER-Berechtigung verfügen, um diesen Befehl ausführen zu können.
Syntax
DROP USER [ IF EXISTS ] name [, ... ]
Parameter
- IF EXISTS
-
Eine Klausel, die angibt, dass der Befehl keine Änderungen ausführen und die Meldung zurückgeben soll, dass der Benutzer nicht vorhanden ist, statt mit einem Fehler beendet zu werden, wenn der angegebene Benutzer nicht vorhanden ist.
Diese Klausel ist beim Scripting nützlich, damit das Skript nicht fehlschlägt, wenn DROP USER für einen nicht vorhandenen Benutzer ausgeführt wird.
- Name
-
Der Name des Benutzers, der entfernt werden soll. Sie können mehrere Benutzer angeben, indem Sie die einzelnen Benutzernamen durch Komma trennen.
Nutzungshinweise
Sie können den Benutzer namens rdsdb
oder den Administratorbenutzer der Datenbank nicht löschen, der normalerweise den Namen awsuser
oder admin
hat.
Sie können einen Benutzer nicht entfernen, wenn der Benutzer ein Datenbankobjekt wie ein Schema, eine Datenbank, eine Tabelle oder eine Ansicht besitzt oder wenn der Benutzer über Berechtigungen für eine Datenbank, Tabelle, Spalte oder Gruppe verfügt. Wenn Sie versuchen, einen solchen Benutzer zu löschen, erhalten Sie eine der folgenden Fehlermeldungen.
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]
Eine ausführliche Anleitung zum Suchen der Objekte, die einem Datenbankbenutzer gehören, finden Sie unter Wie behebe ich den Fehler „Benutzer kann nicht gelöscht werden“ in Amazon Redshift?
Anmerkung
Amazon Redshift überprüft nur die aktuelle Datenbank, bevor ein Benutzer entfernt wird. DROP USER gibt keinen Fehler zurück, wenn der Benutzer Datenbankobjekte oder Rechte für Objekte in einer anderen Datenbank besitzt. Wenn Sie einen Benutzer entfernen, der Objekte in einer anderen Datenbank besitzt, wird der Besitzer dieser Objekte in „unbekannt“ geändert.
Wenn ein Benutzer ein Objekt besitzt, entfernen Sie zunächst das Objekt oder ändern dessen Besitzer in einen anderen Besitzer, bevor Sie den ursprünglichen Besitzer entfernen. Wenn der Benutzer Rechte für ein Objekt besitzt, widerrufen Sie zunächst die Rechte, bevor Sie den Benutzer entfernen. Im folgenden Beispiel werden das Entfernen eines Objekts, das Ändern des Besitzers und das Widerrufen von Rechten gezeigt, bevor der Benutzer entfernt wird.
drop database dwdatabase;
alter schema dw owner to dwadmin;
revoke all on table dwtable from dwuser;
drop user dwuser;
Beispiele
Im folgenden Beispiel wird ein Benutzer namens „paulo“ entfernt:
drop user paulo;
Im folgenden Beispiel werden zwei Benutzer, „paulo“ und „martha“, entfernt:
drop user paulo, martha;
Im folgenden Beispiel wird entweder der Benutzer „paulo“ gelöscht, wenn er vorhanden ist, oder es erfolgt keine Aktion, und es wird eine Meldung zurückgegeben, wenn er nicht vorhanden ist:
drop user if exists paulo;