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.
Hinzufügen von Daten zu einer RDS-Quelldatenbank und Abfragen der Daten
Zum Erstellen einer Null-ETL-Integration, die Daten von Amazon RDS in Amazon Redshift repliziert, müssen Sie eine Datenbank im Ziel erstellen.
Stellen Sie für Verbindungen mit Amazon Redshift zunächst eine Verbindung mit Ihrem Amazon-Redshift-Cluster oder Ihrer Arbeitsgruppe her und erstellen Sie eine Datenbank mit einem Verweis auf Ihre Integrations-ID. Anschließend können Sie Daten zur RDS-Quelldatenbank hinzufügen und diese in Amazon Redshift oder Amazon SageMaker replizieren.
Themen
Erstellen einer Zieldatenbank
Bevor Sie nach der Erstellung einer Integration mit der Replikation von Daten in Amazon Redshift beginnen können, müssen Sie in Ihrem Ziel-Data-Warehouse eine Datenbank erstellen. Diese Datenbank muss einen Verweis auf die Integrations-ID enthalten. Sie können die Amazon-Redshift-Konsole oder Query Editor v2 verwenden, um die Datenbank zu erstellen.
Anleitungen zum Erstellen einer Zieldatenbank finden Sie unter Erstellen einer Zieldatenbank in Amazon Redshift.
Hinzufügen von Daten zur Quelldatenbank
Nachdem Sie Ihre Integration konfiguriert haben, können Sie die RDS-Quelldatenbank mit Daten füllen, die Sie in Ihr Data Warehouse replizieren möchten.
Anmerkung
Es gibt Unterschiede zwischen den Datentypen in Amazon RDS und dem Ziel-Analytik-Warehouse. Eine Tabelle mit Datentypzuordnungen finden Sie unter Datentypunterschiede zwischen RDS und Amazon Redshift-Datenbanken.
Stellen Sie zunächst mit dem MySQL-Client Ihrer Wahl eine Verbindung zur Quelldatenbank her. Anleitungen finden Sie unter Herstellen einer Verbindung mit Ihrer MySQL-DB-Instance.
Erstellen Sie dann eine Tabelle und fügen Sie eine Zeile mit Beispieldaten ein.
Wichtig
Stellen Sie sicher, dass die Tabelle über einen Primärschlüssel verfügt. Andernfalls kann sie nicht in das Ziel-Data-Warehouse repliziert werden.
RDS für MySQL
Im folgenden Beispiel wird das Dienstprogramm MySQL Workbench
CREATE DATABASEmy_db; USEmy_db; CREATE TABLEbooks_table(ID int NOT NULL, Title VARCHAR(50) NOT NULL, Author VARCHAR(50) NOT NULL, Copyright INT NOT NULL, Genre VARCHAR(50) NOT NULL, PRIMARY KEY (ID)); INSERT INTObooks_tableVALUES (1, 'The Shining', 'Stephen King', 1977, 'Supernatural fiction');
RDS für PostgreSQL
Das folgende Beispiel verwendet das interaktive PostgreSQL-Terminal psql. Wenn Sie eine Verbindung zur Datenbank herstellen, schließen Sie den Datenbanknamen ein, den Sie replizieren möchten.
psql -hmydatabase.123456789012.us-east-2.rds.amazonaws.com -p 5432 -Uusername-dnamed_db; named_db=> CREATE TABLEbooks_table(ID int NOT NULL, Title VARCHAR(50) NOT NULL, Author VARCHAR(50) NOT NULL, Copyright INT NOT NULL, Genre VARCHAR(50) NOT NULL, PRIMARY KEY (ID)); named_db=> INSERT INTObooks_tableVALUES (1, 'The Shining', 'Stephen King', 1977, 'Supernatural fiction');
RDS für Oracle
Im folgenden Beispiel wird SQL*Plus verwendet, um eine Verbindung mit Ihrer Datenbank von RDS für Oracle herzustellen.
sqlplus 'user_name@(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=dns_name)(PORT=port))(CONNECT_DATA=(SID=database_name)))' SQL> CREATE TABLEbooks_table(ID int NOT NULL, Title VARCHAR(50) NOT NULL, Author VARCHAR(50) NOT NULL, Copyright INT NOT NULL, Genre VARCHAR(50) NOT NULL, PRIMARY KEY (ID)); SQL> INSERT INTObooks_tableVALUES (1, 'The Shining', 'Stephen King', 1977, 'Supernatural fiction');
Abfragen Ihrer Amazon-RDS-Daten in Amazon Redshift
Nachdem Sie Daten zur RDS-Datenbank hinzugefügt haben, werden sie in die Zieldatenbank repliziert und können abgefragt werden.
So fragen Sie die replizierten Daten ab
-
Navigieren Sie zur Amazon Redshift-Konsole und wählen Sie im linken Navigationsbereich die Option Query Editor v2 aus.
-
Stellen Sie eine Verbindung mit Ihrem Cluster oder Ihrer Arbeitsgruppe her und wählen Sie Ihre aus der Integration erstellte Datenbank im Drop-down-Menü aus (destination_database in diesem Beispiel). Anleitungen zum Erstellen einer Zieldatenbank finden Sie unter Erstellen einer Zieldatenbank in Amazon Redshift.
-
Verwenden Sie eine SELECT-Anweisung, um Ihre Daten abzufragen. In diesem Beispiel können Sie den folgenden Befehl ausführen, um alle Daten aus der Tabelle auszuwählen, die Sie in der RDS-Quelldatenbank erstellt haben:
SELECT * frommy_db."books_table";
-
ist der Name des RDS-Datenbankschemas.my_db -
ist der Name der RDS-Tabelle.books_table
-
Sie können die Daten auch mit einem Befehlszeilen-Client abfragen. Zum Beispiel:
destination_database=# select * frommy_db."books_table"; ID | Title | Author | Copyright | Genre | txn_seq | txn_id ----+–------------+---------------+-------------+------------------------+----------+--------+ 1 | The Shining | Stephen King | 1977 | Supernatural fiction | 2 | 12192
Anmerkung
Um zwischen Groß- und Kleinschreibung zu unterscheiden, verwenden Sie doppelte Anführungszeichen (" ") für Schema-, Tabellen- und Spaltennamen. Weitere Informationen finden Sie unter enable_case_sensitive_identifier.
Datentypunterschiede zwischen RDS und Amazon Redshift-Datenbanken
Die folgenden Tabellen zeigen die Zuordnungen der Datentypen von RDS für MySQL, RDS für PostgreSQL und RDS für Oracle zu den entsprechenden Zieldatentypen. Amazon RDS unterstützt derzeit nur diese Datentypen für Null-ETL-Integrationen.
Wenn eine Tabelle in der Quelldatenbank einen nicht unterstützten Datentyp enthält, wird die Tabelle nicht synchronisiert und kann vom Ziel nicht genutzt werden. Das Streaming von der Quelle zum Ziel wird fortgesetzt, aber die Tabelle mit dem nicht unterstützten Datentyp ist nicht verfügbar. Um die Tabelle zu reparieren und im Ziel verfügbar zu machen, müssen Sie die grundlegende Änderung manuell rückgängig machen und dann die Integration aktualisieren, indem Sie ALTER DATABASE...INTEGRATION
REFRESH ausführen.
Anmerkung
Null-ETL-Integrationen mit einem Amazon SageMaker Lakehouse können nicht aktualisiert werden. Löschen Sie stattdessen die Integration und erstellen Sie sie erneut.
RDS für MySQL
| RDS für MySQL-Datentyp | Zieldatentyp | Beschreibung | Einschränkungen |
|---|---|---|---|
| INT | INTEGER | 4-Byte-Ganzzahl mit Vorzeichen | Keine |
| SMALLINT | SMALLINT | 2-Byte-Ganzzahl mit Vorzeichen | Keine |
| TINYINT | SMALLINT | 2-Byte-Ganzzahl mit Vorzeichen | Keine |
| MEDIUMINT | INTEGER | 4-Byte-Ganzzahl mit Vorzeichen | Keine |
| BIGINT | BIGINT | 8-Byte-Ganzzahl mit Vorzeichen | Keine |
| INT UNSIGNED | BIGINT | 8-Byte-Ganzzahl mit Vorzeichen | Keine |
| TINYINT UNSIGNED | SMALLINT | 2-Byte-Ganzzahl mit Vorzeichen | Keine |
| MEDIUMINT UNSIGNED | INTEGER | 4-Byte-Ganzzahl mit Vorzeichen | Keine |
| BIGINT UNSIGNED | DECIMAL(20,0) | Genauer Zahlenwert mit wählbarer Genauigkeit | Keine |
| DECIMAL(p,s) = NUMERIC(p,s) | DECIMAL (p,s) | Genauer Zahlenwert mit wählbarer Genauigkeit |
Eine Präzision von mehr als 38 und eine Skalierung von mehr als 37 werden nicht unterstützt |
| DECIMAL(p,s) UNSIGNED = NUMERIC(p,s) UNSIGNED | DECIMAL (p,s) | Genauer Zahlenwert mit wählbarer Genauigkeit |
Eine Genauigkeit von mehr als 38 und eine Skalierung von mehr als 37 werden nicht unterstützt. |
| FLOAT4/REAL | REAL | Gleitkommazahl mit einfacher Genauigkeit | Keine |
| FLOAT4/REAL UNSIGNED | REAL | Gleitkommazahl mit einfacher Genauigkeit | Keine |
| DOUBLE/REAL/FLOAT8 | DOUBLE PRECISION | Double (Gleitkommazahl mit doppelter Genauigkeit) | Keine |
| DOUBLE/REAL/FLOAT8 UNSIGNED | DOUBLE PRECISION | Double (Gleitkommazahl mit doppelter Genauigkeit) | Keine |
| BIT(n) | VARBYTE(8) | Binärwert mit variabler Länge | Keine |
| BINARY(n) | VARBYTE(n) | Binärwert mit variabler Länge | Keine |
| VARBINARY (n) | VARBYTE(n) | Binärwert mit variabler Länge | Keine |
| CHAR(n) | VARCHAR (n) | Zeichenkettenwert mit variabler Länge | Keine |
| VARCHAR (n) | VARCHAR (n) | Zeichenkettenwert mit variabler Länge | Keine |
| TEXT | VARCHAR(65535) | Zeichenkettenwert variabler Länge bis zu 65.535 Zeichen | Keine |
| TINYTEXT | VARCHAR(255) | Zeichenkettenwert variabler Länge bis zu 255 Zeichen | Keine |
| MEDIUMTEXT | VARCHAR(65535) | Zeichenkettenwert variabler Länge bis zu 65.535 Zeichen | Keine |
| LONGTEXT | VARCHAR(65535) | Zeichenkettenwert variabler Länge bis zu 65.535 Zeichen | Keine |
| ENUM | VARCHAR(1020) | Zeichenkettenwert variabler Länge bis zu 1.020 Zeichen | Keine |
| SET | VARCHAR(1020) | Zeichenkettenwert variabler Länge bis zu 1.020 Zeichen | Keine |
| DATUM | DATUM | Kalenderdatum (Jahr, Monat, Tag) | Keine |
| DATETIME | TIMESTAMP (ZEITSTEMPEL) | Datum und Uhrzeit (ohne Zeitzone) | Keine |
| TIMESTAMP(p) | TIMESTAMP (ZEITSTEMPEL) | Datum und Uhrzeit (ohne Zeitzone) | Keine |
| TIME | VARCHAR(18) | Zeichenkettenwert variabler Länge bis zu 18 Zeichen | Keine |
| JAHR | VARCHAR(4) | Zeichenkettenwert variabler Länge bis zu 4 Zeichen | Keine |
| JSON | SUPER | Semistrukturierte Daten oder Dokumente als Werte | Keine |
RDS für PostgreSQL
Null-ETL-Integrationen für RDS für PostgreSQL unterstützen keine benutzerdefinierten Datentypen oder Datentypen, die durch Erweiterungen erstellt wurden.
| Datentyp von RDS für PostgreSQL | Amazon-Redshift-Datentyp | Beschreibung | Einschränkungen |
|---|---|---|---|
| Array | SUPER | Semistrukturierte Daten oder Dokumente als Werte | Keine |
| bigint | BIGINT | 8-Byte-Ganzzahl mit Vorzeichen | Keine |
| bigserial | BIGINT | 8-Byte-Ganzzahl mit Vorzeichen | Keine |
| bit varying(n) | VARBYTE(n) | Binärwert variabler Länge bis zu 16.777.216 Byte | Keine |
| bit(n) | VARBYTE(n) | Binärwert variabler Länge bis zu 16.777.216 Byte | Keine |
| bit, bit varying | VARBYTE(16777216) | Binärwert variabler Länge bis zu 16.777.216 Byte | Keine |
| Boolean | BOOLEAN | Logischer boolescher Wert (wahr/falsch) | Keine |
| bytea | VARBYTE(16777216) | Binärwert variabler Länge bis zu 16.777.216 Byte | Keine |
| char(n) | CHAR(n) | Zeichenkettenwert mit fester Länge bis zu 65.535 Byte | Keine |
| char varying(n) | VARCHAR(65535) | Zeichenkettenwert variabler Länge bis zu 65.535 Zeichen | Keine |
| cid | BIGINT |
8-Byte-Ganzzahl mit Vorzeichen |
Keine |
| cidr |
VARCHAR(19) |
Zeichenkettenwert variabler Länge bis zu 19 Zeichen |
Keine |
| date | DATUM | Kalenderdatum (Jahr, Monat, Tag) |
Werte, die größer als 294.276 A.D. sind, werden nicht unterstützt |
| double precision | DOUBLE PRECISION | Double (Gleitkommazahlen mit doppelter Präzision) | Subnormale Werte werden nicht vollständig unterstützt |
|
gtsvector |
VARCHAR(65535) |
Zeichenkettenwert variabler Länge bis zu 65.535 Zeichen |
Keine |
| inet |
VARCHAR(19) |
Zeichenkettenwert variabler Länge bis zu 19 Zeichen |
Keine |
| Ganzzahl | INTEGER | 4-Byte-Ganzzahl mit Vorzeichen | Keine |
|
int2vector |
SUPER | Semistrukturierte Daten oder Dokumente als Werte. | Keine |
| Intervall | INTERVAL | Dauer | Es werden nur INTERVAL-Typen unterstützt, die einen Qualifier des Typs „Jahr zu Monat“ oder „Tag zu Sekunde“ angeben. |
| json | SUPER | Semistrukturierte Daten oder Dokumente als Werte | Keine |
| jsonb | SUPER | Semistrukturierte Daten oder Dokumente als Werte | Keine |
| jsonpath | VARCHAR(65535) | Zeichenkettenwert variabler Länge bis zu 65.535 Zeichen | Keine |
|
macaddr |
VARCHAR(17) | Zeichenkettenwert variabler Länge bis zu 17 Zeichen | Keine |
|
macaddr8 |
VARCHAR(23) | Zeichenkettenwert variabler Länge bis zu 23 Zeichen | Keine |
| money | DECIMAL(20,3) | Währungsbetrag | Keine |
| Name | VARCHAR(64) | Zeichenkettenwert variabler Länge bis zu 64 Zeichen | Keine |
| numeric(p,s) | DECIMAL (p,s) | Benutzerdefinierter Wert mit fester Präzision |
|
| oid | BIGINT | 8-Byte-Ganzzahl mit Vorzeichen | Keine |
| oidvector | SUPER | Semistrukturierte Daten oder Dokumente als Werte | Keine |
| pg_brin_bloom_summary | VARCHAR(65535) | Zeichenkettenwert variabler Länge bis zu 65.535 Zeichen | Keine |
| pg_dependencies | VARCHAR(65535) | Zeichenkettenwert variabler Länge bis zu 65.535 Zeichen | Keine |
| pg_lsn | VARCHAR(17) | Zeichenkettenwert variabler Länge bis zu 17 Zeichen | Keine |
| pg_mcv_list | VARCHAR(65535) | Zeichenkettenwert variabler Länge bis zu 65.535 Zeichen | Keine |
| pg_ndistinct | VARCHAR(65535) | Zeichenkettenwert variabler Länge bis zu 65.535 Zeichen | Keine |
| pg_node_tree | VARCHAR(65535) | Zeichenkettenwert variabler Länge bis zu 65.535 Zeichen | Keine |
| pg_snapshot | VARCHAR(65535) | Zeichenkettenwert variabler Länge bis zu 65.535 Zeichen | Keine |
| real | REAL | Gleitkommazahl mit einfacher Genauigkeit | Subnormale Werte werden nicht vollständig unterstützt |
| refcursor | VARCHAR(65535) | Zeichenkettenwert variabler Länge bis zu 65.535 Zeichen | Keine |
| smallint | SMALLINT | 2-Byte-Ganzzahl mit Vorzeichen | Keine |
| smallserial | SMALLINT | 2-Byte-Ganzzahl mit Vorzeichen | Keine |
| serial | INTEGER | 4-Byte-Ganzzahl mit Vorzeichen | Keine |
| text | VARCHAR(65535) | Zeichenkettenwert variabler Länge bis zu 65.535 Zeichen | Keine |
| tid | VARCHAR(23) | Zeichenkettenwert variabler Länge bis zu 23 Zeichen | Keine |
| time [(p)] without time zone | VARCHAR(19) | Zeichenkettenwert variabler Länge bis zu 19 Zeichen | Die Werte Infinity und -Infinity werden nicht unterstützt |
| time [(p)] with time zone | VARCHAR(22) | Zeichenkettenwert variabler Länge bis zu 22 Zeichen | Die Werte Infinity und -Infinity werden nicht unterstützt. |
| timestamp [(p)] without time zone | TIMESTAMP (ZEITSTEMPEL) | Datum und Uhrzeit (ohne Zeitzone) |
|
| timestamp [(p)] with time zone | TIMESTAMPTZ | Datum und Uhrzeit (mit Zeitzone) |
|
| tsquery | VARCHAR(65535) | Zeichenkettenwert variabler Länge bis zu 65.535 Zeichen | Keine |
| tsvector | VARCHAR(65535) | Zeichenkettenwert variabler Länge bis zu 65.535 Zeichen | Keine |
| txid_snapshot | VARCHAR(65535) | Zeichenkettenwert variabler Länge bis zu 65.535 Zeichen | Keine |
| uuid | VARCHAR(36) | Zeichenkette variabler Länge mit 36 Zeichen | Keine |
| xid | BIGINT | 8-Byte-Ganzzahl mit Vorzeichen | Keine |
| xid8 | DECIMAL(20, 0) | Dezimalzahl mit fester Präzision | Keine |
| xml | VARCHAR(65535) | Zeichenkettenwert variabler Länge bis zu 65.535 Zeichen | Keine |
RDS für Oracle
Nicht unterstützte Datentypen
Die folgenden Datentypen von RDS für Oracle werden von Amazon Redshift nicht unterstützt:
-
ANYDATA -
BFILE -
REF -
ROWID -
UROWID -
VARRAY -
SDO_GEOMETRY -
Benutzerdefinierte Datentypen
Datentypunterschiede
Die folgende Tabelle zeigt die Unterschiede zwischen den Datentypen, die sich auf eine Null-ETL-Integration auswirken, wenn RDS für Oracle die Quelle und Amazon Redshift das Ziel ist.
| Datentyp von RDS für Oracle | Amazon-Redshift-Datentyp |
|---|---|
|
BINARY_FLOAT |
FLOAT4 |
|
BINARY_DOUBLE |
FLOAT8 |
|
BINARY |
VARCHAR (Länge) |
|
FLOAT (P) |
Wenn Präzision =< 24, dann FLOAT4. Wenn Präzision > 24, dann FLOAT8. |
|
NUMBER (P,S) |
Ist die Skalierung => 0 und =< 37, dann NUMERIC (p,s). Ist die Skalierung => 38 und =< 127, dann VARCHAR (Länge). Ist die Skalierung 0:
Ist die Skalierung kleiner als 0, dann INT8. |
|
DATUM |
Ist die Skalierung => 0 und =< 6 ist, je nach Redshift-Zielspaltentyp, dann einer der folgenden:
Ist die Skalierung => 7 und =< 9, dann VARCHAR (37). |
|
INTERVAL_YEAR TO MONTH |
Ist die Länge zwischen 1 und 65.535, dann VARCHAR (Länge in Byte). Ist die Länge zwischen 65.536 und 2.147.483.647, dann VARCHAR (65535). |
|
INTERVAL_DAY TO SECOND |
Ist die Länge zwischen 1 und 65.535, dann VARCHAR (Länge in Byte). Ist die Länge zwischen 65.536 und 2.147.483.647, dann VARCHAR (65535). |
|
TIMESTAMP (ZEITSTEMPEL) |
Ist die Skalierung => 0 und =< 6 ist, je nach Redshift-Zielspaltentyp, dann einer der folgenden:
Ist die Skalierung => 7 und =< 9, dann VARCHAR (37). |
|
TIMESTAMP WITH TIME ZONE |
Ist die Länge zwischen 1 und 65.535, dann VARCHAR (Länge in Byte). Ist die Länge zwischen 65.536 und 2.147.483.647, dann VARCHAR (65535). |
|
TIMESTAMP WITH LOCAL TIME ZONE |
Ist die Länge zwischen 1 und 65.535, dann VARCHAR (Länge in Byte). Ist die Länge zwischen 65.536 und 2.147.483.647, dann VARCHAR (65535). |
|
CHAR |
Ist die Länge zwischen 1 und 65.535, dann VARCHAR (Länge in Byte). Ist die Länge zwischen 65.536 und 2.147.483.647, dann VARCHAR (65535). |
|
VARCHAR2 |
Ist die Länge größer als 4 000 Byte, dann VARCHAR (maximale LOB-Größe). Die maximale LOB-Größe darf 63 KB nicht überschreiten. Amazon Redshift unterstützt keine VARCHARs über 64 KB. Ist die Länge 4 000 Byte oder weniger, dann VARCHAR (Länge in Byte). |
|
NCHAR |
Ist die Länge zwischen 1 und 65.535, dann NVARCHAR (Länge in Byte). Ist die Länge zwischen 65.536 bis 2.147.483.647, dann NVARCHAR (65535). |
|
NVARCHAR2 |
Ist die Länge größer als 4 000 Byte, dann NVARCHAR (maximale LOB-Größe). Die maximale LOB-Größe darf 63 KB nicht überschreiten. Amazon Redshift unterstützt keine VARCHARs über 64 KB. Ist die Länge 4 000 Byte oder weniger, dann NVARCHAR (Länge in Byte). |
|
RAW |
VARCHAR (Länge) |
|
REAL |
FLOAT8 |
|
BLOB |
VARCHAR (maximale LOB-Größe * 2) Die maximale LOB-Größe darf 31 KB nicht überschreiten. Amazon Redshift unterstützt keine VARCHARs über 64 KB. |
|
CLOB |
VARCHAR (maximale LOB-Größe) Die maximale LOB-Größe darf 63 KB nicht überschreiten. Amazon Redshift unterstützt keine VARCHARs über 64 KB. |
|
NCLOB |
NVARCHAR (maximale LOB-Größe) Die maximale LOB-Größe darf 63 KB nicht überschreiten. Amazon Redshift unterstützt keine VARCHARs über 64 KB. |
|
LONG |
VARCHAR (maximale LOB-Größe) Die maximale LOB-Größe darf 63 KB nicht überschreiten. Amazon Redshift unterstützt keine VARCHARs über 64 KB. |
|
LONG RAW |
VARCHAR (maximale LOB-Größe * 2) Die maximale LOB-Größe darf 31 KB nicht überschreiten. Amazon Redshift unterstützt keine VARCHARs über 64 KB. |
|
XMLTYPE |
VARCHAR (maximale LOB-Größe) Die maximale LOB-Größe darf 63 KB nicht überschreiten. Amazon Redshift unterstützt keine VARCHARs über 64 KB. |
DDL-Operationen für RDS für PostgreSQL
Amazon Redshift wird von PostgreSQL abgeleitet und hat daher aufgrund der gemeinsamen PostgreSQL-Architektur mehrere Features mit RDS für PostgreSQL gemeinsam. Null-ETL-Integrationen nutzen diese Ähnlichkeiten, um die Datenreplikation von RDS für PostgreSQL in Amazon Redshift zu optimieren, indem sie Datenbanken nach Namen zuordnen und die Datenbank, das Schema und die Tabellenstruktur gemeinsam nutzen.
Beachten Sie bei der Verwaltung von Null-ETL-Integrationen von RDS für PostgreSQL die folgenden Punkte:
-
Die Isolation wird auf Datenbankebene verwaltet.
-
Die Replikation erfolgt auf Datenbankebene.
-
Datenbanken von RDS für PostgreSQL werden Amazon-Redshift-Datenbanken nach Namen zugeordnet, wobei Daten in die entsprechende umbenannte Redshift-Datenbank fließen, wenn das Original umbenannt wird.
Trotz ihrer Ähnlichkeiten weisen Amazon Redshift und RDS für PostgreSQL wesentliche Unterschiede auf. In den folgenden Abschnitten werden die Systemantworten von Amazon Redshift für gängige DDL-Operationen beschrieben.
Datenbankoperationen
Die folgende Tabelle zeigt die Systemantworten für Datenbank-DDL-Operationen.
| DDL-Operation | Redshift-Systemantwort |
|---|---|
CREATE DATABASE |
Kein Vorgang |
DROP DATABASE |
Amazon Redshift entfernt alle Daten in der Redshift-Zieldatenbank. |
RENAME DATABASE |
Amazon Redshift entfernt alle Daten in der ursprünglichen Zieldatenbank und synchronisiert die Daten in der neuen Zieldatenbank erneut. Wenn die neue Datenbank nicht existiert, müssen Sie sie manuell erstellen. Anleitungen finden Sie unter Eine Zieldatenbank in Amazon Redshift erstellen. |
Schemaoperationen
Die folgende Tabelle zeigt die Systemantworten für Schema-DDL-Operationen.
| DDL-Vorgang | Redshift-Systemantwort |
|---|---|
CREATE SCHEMA |
Kein Vorgang |
DROP SCHEMA |
Amazon Redshift entfernt das ursprüngliche Schema. |
RENAME SCHEMA |
Amazon Redshift entfernt das ursprüngliche Schema und synchronisiert dann die Daten im neuen Schema erneut. |
Tabellenoperationen
Die folgende Tabelle zeigt die Systemantworten auf Tabellen-DDL-Operationen.
| DDL-Vorgang | Redshift-Systemantwort |
|---|---|
CREATE TABLE |
Amazon Redshift erstellt die Tabelle. Einige Operationen führen dazu, dass die Tabellenerstellung fehlschlägt, z. B. das Erstellen einer Tabelle ohne Primärschlüssel oder das Durchführen einer deklarativen Partitionierung. Weitere Informationen erhalten Sie unter Einschränkungen und Fehlerbehebung bei Null-ETL-Integrationen von Amazon RDS. |
DROP TABLE |
Amazon Redshift entfernt die Tabelle. |
TRUNCATE TABLE |
Amazon Redshift schneidet die Tabelle ab. |
ALTER TABLE
(RENAME...) |
Amazon Redshift benennt die Tabelle oder Spalte um. |
ALTER TABLE (SET
SCHEMA) |
Amazon Redshift entfernt die Tabelle im ursprünglichen Schema und synchronisiert dann die Tabelle im neuen Schema erneut. |
ALTER TABLE (ADD PRIMARY
KEY) |
Amazon Redshift fügt einen Primärschlüssel hinzu und synchronisiert die Tabelle erneut. |
ALTER TABLE (ADD
COLUMN) |
Amazon Redshift fügt eine Spalte zur Tabelle hinzu. |
ALTER TABLE (DROP
COLUMN) |
Amazon Redshift entfernt die Spalte, wenn es sich nicht um eine Primärschlüsselspalte handelt. Andernfalls wird die Tabelle erneut synchronisiert. |
ALTER TABLE (SET
LOGGED/UNLOGGED) |
Wenn Sie die Tabelle in protokolliert ändern, synchronisiert Amazon Redshift die Tabelle erneut. Wenn Sie die Tabelle in nicht protokolliert ändern, entfernt Amazon Redshift die Tabelle. |