ALTER DATABASE - Amazon Redshift

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

Um ALTER DATABASE zu benutzen, ist eine der folgenden Berechtigungen erforderlich.

  • Superuser

  • Benutzer mit der Berechtigung ALTER DATABASE.

  • 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 [, ...] } | SET [ QUERY_ALL_STATES [=] { TRUE | FALSE } ] [ ACCEPTINVCHARS [=] { TRUE | FALSE } ] [ REFRESH_INTERVAL <interval> ] [ TRUNCATECOLUMNS [=] { TRUE | FALSE } ] [ HISTORY_MODE [=] {TRUE | FALSE} [ FOR { {ALL} 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
RENAME TO

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 können eine Datenbank umbenennen. Besitzer, die keine Superuser sind, benötigen ebenfalls das CREATEDB-Recht.

new_name

Neuer Datenbankname.

OWNER TO

Ä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.

CONNECTION LIMIT { 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. Mithilfe des Schlüsselworts UNLIMITED können Sie die maximale Zahl gleichzeitiger Verbindungen festlegen. Möglicherweise gilt auch ein Limit für die Zahl der Verbindungen für die einzelnen Benutzer. Weitere Informationen finden Sie unter CREATE USER. Der Standardwert ist UNLIMITED. 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 dem CREATE DATABASE-Recht können auch die Unterscheidung zwischen Groß-/Kleinschreibung in der Datenbank ändern.

ISOLATION LEVEL { SERIALIZABLE | SNAPSHOT }

Eine Klausel, die die verwendete Isolationsstufe bei Abfragen für eine Datenbank angibt.

  • SERIALIZABLE-Isolation (serialisierbare Isolation) – bietet volle Serialisierbarkeit für gleichzeitige Transaktionen. Weitere Informationen finden Sie unter Serialisierbare Isolierung.

  • SNAPSHOT-Isolation – 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 müssen über Superuser-Rechte oder über die Berechtigung CREATE DATABASE (Datenbank erstellen) für die aktuelle Datenbank verfügen, um die Isolationsstufe für die Datenbank zu ändern.

  • 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.

INTEGRATION

Ändern Sie eine Zero-ETL-Integrationsdatenbank.

AKTUALISIEREN {{ALL | INERROR} TABELLEN [IM SCHEMA-Schema [,...]] | TABELLE 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 Zero-ETL-Integrationen im Amazon Redshift Management Guide. Weitere Informationen zu Integrationszuständen finden Sie unter SVV_INTEGRATION_TABLE_STATE und SVV_INTEGRATION.

QUERY_ALL_STATES [=] {WAHR | FALSCH}

Die QUERY_ALL_STATES-Klausel legt fest, ob Zero-ETL-Integrationstabellen in allen Status (,, und) abgefragt werden können. Synced Failed ResyncRequired ResyncInitiated Standardmäßig kann eine Zero-ETL-Integrationstabelle nur im Status abgefragt werden. Synced

ACCEPTINGCHARS [=] {WAHR | FALSCH}

Die ACCEPTINVCHARS-Klausel legt fest, ob Zero-ETL-Integrationstabellen mit der Aufnahme fortfahren, wenn ungültige Zeichen für den VARCHAR-Datentyp erkannt werden. Wenn ungültige Zeichen gefunden werden, wird das ungültige Zeichen durch ein Standardzeichen ersetzt. ?

REFRESH_INTERVAL <interval>

Die REFRESH_INTERVAL-Klausel legt das ungefähre Zeitintervall in Sekunden fest, in dem Daten von der Zero-ETL-Quelle in die Zieldatenbank aktualisiert werden. intervalSie kann für Zero-ETL-Integrationen, deren Quelltyp Aurora MySQL, Aurora PostgreSQL oder RDS for MySQL ist, auf 0—432.000 Sekunden (5 Tage) gesetzt werden. Für Amazon DynamoDB Zero-ETL-Integrationen interval kann der Wert auf 900—432.000 Sekunden (15 Minuten —5 Tage) festgelegt werden.

Weitere Informationen zum Erstellen von Datenbanken mit Zero-ETL-Integrationen finden Sie unter Erstellen von Zieldatenbanken in Amazon Redshift im Amazon Redshift Management Guide.

SPALTEN KÜRZEN [=] {WAHR | FALSCH}

Die TRUNCATECOLUMNS-Klausel legt fest, ob die Zero-ETL-Integrationstabellen mit der Aufnahme fortfahren, wenn die Werte für die VARCHAR-Spalte den Grenzwert überschreiten. Wenn, werden die Werte gekürzt, sodass sie TRUE in die Spalte passen.

HISTORY_MODE [=] {TRUE | FALSE} [FÜR {{ALL} TABELLEN [IM SCHEMA-Schema [,...]] | TABELLE schema.table [,...]}]

Eine Klausel, die angibt, ob Amazon Redshift den Verlaufsmodus für alle Tabellen oder Tabellen im angegebenen Schema festlegt, die an der Zero-ETL-Integration teilnehmen. Diese Option gilt nur für Datenbanken, die für die Zero-ETL-Integration erstellt wurden.

Die HISTORY_MODE-Klausel kann auf oder gesetzt werden. TRUE FALSE Der Standardwert ist FALSE. Das Ein- und Ausschalten des Verlaufsmodus gilt nur für Tabellen, die sich im Synced Status befinden. Informationen zu HISTORY_MODE finden Sie unter Verlaufsmodus im Amazon Redshift Management Guide.

Nutzungshinweise

ALTER DATABASE-Befehle gelten für folgende, 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 die Datenbank mit dem Namen TICKIT_SANDBOX in TICKIT_TEST umbenannt:

alter database tickit_sandbox rename to tickit_test;

Im folgenden Beispiel wird der Besitzer der TICKIT-Datenbank (der aktuellen Datenbank) in DWUSER umbenannt:

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 namens sampledb mit der Isolationsstufe SNAPSHOT geändert.

ALTER DATABASE sampledb ISOLATION LEVEL SNAPSHOT;

Im folgenden Beispiel werden die Tabellen schema1.sample_table1 und schema2.sample_table2 in der Datenbank sample_integration_db in Ihrer Null-ETL-Integration aktualisiert.

ALTER DATABASE sample_integration_db INTEGRATION REFRESH TABLE schema1.sample_table1, schema2.sample_table2;

Im folgenden Beispiel werden alle synchronisierten und fehlgeschlagenen Tabellen in Ihrer Null-ETL-Integration aktualisiert.

ALTER DATABASE sample_integration_db INTEGRATION REFRESH ALL tables;

Im folgenden Beispiel wird das Aktualisierungsintervall für Zero-ETL-Integrationen auf 600 Sekunden festgelegt.

ALTER DATABASE sample_integration_db INTEGRATION SET REFRESH_INTERVAL 600;

Im folgenden Beispiel werden alle Tabellen aktualisiert, die im Schema enthalten sind. ErrorState sample_schema

ALTER DATABASE sample_integration_db INTEGRATION REFRESH INERROR TABLES in SCHEMA sample_schema;

Im folgenden Beispiel wird der Verlaufsmodus für die Tabelle myschema.table1 aktiviert.

ALTER DATABASE sample_integration_db INTEGRATION SET HISTORY_MODE = true FOR TABLE myschema.table1

Im folgenden Beispiel wird der Verlaufsmodus für alle Tabellen in aktiviertmyschema.

ALTER DATABASE sample_integration_db INTEGRATION SET HISTORY_MODE = true for ALL TABLES IN SCHEMA myschema