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.
ALTER DATABASE
Ändert die Attribute einer Datenbank.
Erforderliche Berechtigungen
Für ALTER DATABASE die Verwendung ist eines der folgenden Rechte erforderlich..
Superuser
Benutzer mit der ALTER DATABASE Berechtigung
Datenbankbesitzer
Syntax
ALTER DATABASE database_name { RENAME TO new_name | OWNER TO new_owner | CONNECTION LIMIT { limit | UNLIMITED } | COLLATE { CASE_SENSITIVE | CASE_INSENSITIVE } | ISOLATION LEVEL { SERIALIZABLE | SNAPSHOT } | INTEGRATION REFRESH {{ ALL | INERROR } TABLES [IN SCHEMA schema [, ...]] | TABLE schema.table [, ...]} }
Parameter
- database_name
-
Der Name der Datenbank, die geändert werden soll. In der Regel ändern Sie eine Datenbank, mit der Sie zurzeit nicht verbunden sind. In jedem Fall werden die Änderungen nur in folgenden Sitzungen wirksam. Sie können den Besitzer der aktuellen Datenbank ändern, sie jedoch nicht umbenennen:
alter database tickit rename to newtickit; ERROR: current database may not be renamed
- RENAMEZU
-
Benennt die angegebene Datenbank um. Weitere Informationen zu gültigen Namen finden Sie unter Namen und Kennungen. Sie können die Datenbanken dev, padb_harvest, template0 oder template1 oder sys:internal-Datenbanken nicht umbenennen. Nur der Datenbankbesitzer oder ein superuser kann eine Datenbank umbenennen. Besitzer, die keine Superuser sind, müssen ebenfalls über dieses Recht verfügen. CREATEDB
- new_name
-
Neuer Datenbankname.
- OWNERZU
-
Ändert den Besitzer der angegebenen Datenbank. Sie können den Besitzer der aktuellen Datenbank oder einer anderen Datenbank ändern. Nur ein Superuser kann den Besitzer ändern.
- new_owner
-
Neuer Datenbankbesitzer. Der neue Besitzer muss ein vorhandener Datenbankbenutzer mit Schreibberechtigungen sein. Weitere Informationen zu Benutzerrechten finden Sie in GRANT.
- CONNECTIONLIMIT{Limit |UNLIMITED}
-
Redshift unterstützt das Schreiben von verschachteltem JSON-Code, wenn das Abfrageergebnis SUPER-Spalten enthält. Das Limit wird für Superuser nicht durchgesetzt. Verwenden Sie das UNLIMITED Schlüsselwort, um die maximale Anzahl gleichzeitiger Verbindungen zuzulassen. Möglicherweise gilt auch ein Limit für die Zahl der Verbindungen für die einzelnen Benutzer. Weitere Informationen finden Sie unter CREATE USER. Die Standardeinstellung istUNLIMITED. Um die aktuellen Verbindungen anzuzeigen, führen Sie eine Abfrage für die Systemansicht STV_SESSIONS aus.
Anmerkung
Wenn sowohl für Benutzer- als auch für Datenbankverbindungen Limits gelten, muss ein ungenutzter Verbindungsplatz verfügbar sein, der sich innerhalb beider Grenzen befindet, wenn ein Benutzer versucht, eine Verbindung herzustellen.
- COLLATE { CASE_SENSITIVE | CASE_INSENSITIVE }
-
Eine Klausel, die angibt, ob bei der Suche oder dem Vergleich von Zeichenfolgen zwischen Groß- und Kleinschreibung unterschieden wird oder nicht.
Sie können die Unterscheidung zwischen Groß- und Kleinschreibung in der aktuellen, leeren Datenbank ändern.
Sie müssen über die Berechtigung für die aktuelle Datenbank verfügen, um die Unterscheidung zwischen Groß-/Kleinschreibung zu ändern. Superuser oder Datenbankbesitzer mit dieser CREATE DATABASE Berechtigung können auch die Groß- und Kleinschreibung in der Datenbank ändern.
- ISOLATION LEVEL { SERIALIZABLE | SNAPSHOT }
-
Eine Klausel, die die verwendete Isolationsstufe bei Abfragen für eine Datenbank angibt.
SERIALIZABLEIsolation — bietet vollständige Serialisierbarkeit für gleichzeitige Transaktionen. Weitere Informationen finden Sie unter Serialisierbare Isolierung.
SNAPSHOTIsolation — bietet eine Isolationsstufe mit Schutz vor Aktualisierungs- und Löschkonflikten.
Weitere Hinweise zu Isolationsstufen finden Sie unter CREATE DATABASE.
Beachten Sie die folgenden Elemente, wenn Sie die Isolationsstufe einer Datenbank ändern:
Sie benötigen den Superuser oder CREATE DATABASE das Recht für die aktuelle Datenbank, um die Isolationsstufe der Datenbank ändern zu können.
Sie können die Isolationsstufe der
dev
-Datenbank nicht ändern.Sie können die Isolationsstufe innerhalb eines Transaktionsblocks nicht ändern.
Der Befehl zum Ändern der Isolationsstufe schlägt fehl, wenn andere Benutzer mit der Datenbank verbunden sind.
Mit dem Befehl zum Ändern der Isolationsstufe können die Isolationsstufen-Einstellungen der aktuellen Sitzung geändert werden.
- INTEGRATIONREFRESH{{ALL|INERROR} TABLES [IM SCHEMA Schema [,...]] | TABLE schema.table [,...]}
Eine Klausel, die angibt, ob Amazon Redshift alle Tabellen oder Tabellen mit Fehlern im angegebenen Schema oder der Tabelle aktualisiert. Die Aktualisierung löst aus, dass die Tabellen im angegebenen Schema oder der angegebenen Tabelle vollständig aus der Quelldatenbank repliziert werden.
Weitere Informationen finden Sie unter Working with Zero ETL Integrations im Amazon Redshift Management Guide. Weitere Informationen zu Integrationszuständen finden Sie unter SVV_INTEGRATION_TABLE_STATE und SVV_INTEGRATION.
Nutzungshinweise
ALTERDATABASEBefehle gelten für nachfolgende Sitzungen, nicht für aktuelle Sitzungen. Sie müssen die Verbindung mit der geänderten Datenbank erneut herstellen, um die Auswirkungen der Änderung anzuzeigen.
Beispiele
Im folgenden Beispiel wird eine Datenbank mit dem Namen _ in TICKIT TICKIT _ SANDBOX TEST umbenannt:
alter database tickit_sandbox rename to tickit_test;
Im folgenden Beispiel wird der Besitzer der TICKIT Datenbank (der aktuellen Datenbank) wie folgt geändert: DWUSER
alter database tickit owner to dwuser;
Im folgenden Beispiel wird die Unterscheidung zwischen Groß-/Kleinschreibung in der Datenbank sampledb geändert:
ALTER DATABASE sampledb COLLATE CASE_INSENSITIVE;
Im folgenden Beispiel wird eine Datenbank sampledb
mit dem Namen SNAPSHOT Isolationsstufe geändert.
ALTER DATABASE sampledb ISOLATION LEVEL SNAPSHOT;
Im folgenden Beispiel werden die Tabellen sample_table1
und die Datenbank sample_table2
sample_integration_db
in Ihrer ETL Nullintegrationsstufe aktualisiert.
ALTER DATABASE sample_integration_db INTEGRATION REFRESH TABLES sample_table1, sample_table2;
Im folgenden Beispiel werden alle synchronisierten und fehlgeschlagenen Tabellen innerhalb Ihrer Zero-Integration aktualisiert. ETL
ALTER DATABASE sample_integration_db INTEGRATION REFRESH ALL tables;
Im folgenden Beispiel werden alle Tabellen aktualisiert, die sich im ErrorState
im Schema sample_schema
befinden.
ALTER DATABASE sample_integration_db INTEGRATION REFRESH INERROR TABLES in SCHEMA sample_schema;