

 Amazon Redshift unterstützt UDFs ab Patch 198 nicht mehr die Erstellung von neuem Python. Das bestehende Python UDFs wird bis zum 30. Juni 2026 weiterhin funktionieren. Weitere Informationen finden Sie im [Blog-Posting](https://aws.amazon.com/blogs/big-data/amazon-redshift-python-user-defined-functions-will-reach-end-of-support-after-june-30-2026/). 

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.

# Amazon Redshift und PostgreSQL
<a name="c_redshift-and-postgres-sql"></a>

**Topics**
+ [Amazon Redshift und PostgreSQL JDBC und ODBC](c_redshift-postgres-jdbc.md)
+ [Funktionen, die auf andere Weise umgesetzt sind](c_redshift-sql-implementated-differently.md)
+ [Nicht unterstützte PostgreSQL-Funktionen](c_unsupported-postgresql-features.md)
+ [Nicht unterstützte PostgreSQL-Datentypen](c_unsupported-postgresql-datatypes.md)
+ [Nicht unterstützte PostgreSQL-Funktionen](c_unsupported-postgresql-functions.md)

Amazon Redshift basiert auf PostgreSQL. Zwischen Amazon Redshift und PostgreSQL gibt es eine Reihe wichtiger Unterschiede, die Sie berücksichtigen müssen, wenn Sie Ihre Data-Warehouse-Anwendungen entwerfen und entwickeln.

Amazon Redshift wurde speziell für OLAP- (Online Analytic Processing) und BI-Anwendungen (Business Intelligence) entwickelt, die komplexe Abfragen für großen Datasätze erfordern. Da Amazon Redshift sehr unterschiedliche Anforderungen erfüllen soll, unterscheiden sich das spezialisierte Datenspeicher-Schema und die Abfrageausführungs-Engine erheblich von der Umsetzung in PostgreSQL. Zum Beispiel: Während OLTP-Anwendungen (Online Transaction Processing) Daten typischerweise in Zeilen speichern, speichert Amazon Redshift Daten in Spalten und verwendet spezielle Datenkomprimierungskodierungen für optimale Speichernutzung und Speicherträger-I/O. Einige PostgreSQL-Features, die für kleinere OLTP-Verarbeitungen geeignet sind, etwa sekundäre Indizes oder effiziente Einzeilen-Datenmanipulationsoperationen, wurden ausgelassen, um die Leistung zu verbessern.

Detaillierte Informationen zu der Amazon-Redshift-Systemarchitektur für Data Warehouses finden Sie unter [Architektur von Amazon Redshift](c_redshift_system_overview.md).

PostgreSQL 9.x enthält einige Funktionen, die in Amazon Redshift nicht unterstützt werden. Darüber hinaus gibt es eine Reihe wichtiger Unterschiede zwischen Amazon-Redshift-SQL und PostgreSQL, die Sie kennen müssen. Dieser Abschnitt hebt die Unterschiede zwischen Amazon Redshift und PostgreSQL hervor und bietet eine Anleitung für die Entwicklung eines Data Warehouse, bei dem alle Vorteile der Umsetzung in Amazon-RedshiftSQL in vollem Umfang genutzt werden.

# Amazon Redshift und PostgreSQL JDBC und ODBC
<a name="c_redshift-postgres-jdbc"></a>

 Da Amazon Redshift auf PostgreSQL basiert, haben wir zuvor empfohlen, die Treiber für Postgresql 8.4.703 und JDBC4 psqlODBC Version 9.x zu verwenden. Wenn Sie diese Treiber derzeit verwenden, empfehlen wir, zu den neuen Amazon-Redshift-Treibern zu wechseln. Weitere Informationen über Treiber und das Konfigurieren von Verbindungen finden Sie unter [JDBC- und ODBC-Treiber für Amazon Redshift](https://docs.aws.amazon.com/redshift/latest/mgmt/configuring-connections.html#connecting-drivers) im *Amazon-Redshift-Verwaltungshandbuch*.

Um clientseitige out-of-memory Fehler beim Abrufen großer Datensätze mit JDBC zu vermeiden, können Sie Ihrem Client ermöglichen, Daten stapelweise abzurufen, indem Sie den Parameter JDBC-Abrufgröße festlegen. Weitere Informationen finden Sie unter [Festlegen des JDBC-Parameters für die Abrufgröße](set-the-JDBC-fetch-size-parameter.md).

Der JDBC-maxRows-Parameter wird von Amazon Redshift nicht erkannt. Sie müssen stattdessen eine [LIMIT](r_ORDER_BY_clause.md#order-by-clause-limit)-Klausel angeben, um den Ergebnissatz einzuschränken. Sie können auch eine [OFFSET](r_ORDER_BY_clause.md#order-by-clause-offset)-Klausel verwenden, um zu einem bestimmten Startpunkt im Ergebnissatz zu springen.

# Funktionen, die auf andere Weise umgesetzt sind
<a name="c_redshift-sql-implementated-differently"></a>

Viele Amazon-Redshift-SQL-Sprachelemente weisen andere Leistungsmerkmale auf und unterscheiden sich hinsichtlich der Syntax und Semantik erheblich von der entsprechenden Umsetzung in PostgreSQL.

**Wichtig**  
Beachten Sie, dass die Semantik von Elementen, die sowohl in Amazon Redshift als auch in PostgreSQL vorkommen, nicht zwingend identisch ist. Es wird dringend empfohlen, die entsprechenden Stellen im *Amazon-Redshift-Entwicklerhandbuch* [SQL-Befehle](c_SQL_commands.md) nachzuschlagen, um die oft sehr subtilen Unterschiede zu verstehen.

Dies gilt insbesondere für den Befehl [VACUUM](r_VACUUM_command.md), mit dem Tabellen bereinigt und neu organisiert werden. VACUUM funktioniert auf andere Weise und verwendet einen anderen Satz von Parametern als die PostgreSQL-Version. Weitere Informationen zur Verwendung von VACUUM in Amazon Redshift finden Sie unter [Bereinigen von Tabellen](t_Reclaiming_storage_space202.md).

Außerdem gibt es viele Unterschiede hinsichtlich der Datenbankverwaltung sowie der Administrationsfunktionen und -tools. Amazon Redshift bietet z. B. über eine Reihe von Systemtabellen und Ansichten, die Informationen zur Funktionsweise des Systems bereitstellen. Weitere Informationen finden Sie unter [SYS-Überwachungsansichten](serverless_views-monitoring.md).

Die folgende Liste enthält ein paar Beispiele für SQL-Merkmale, die in Amazon Redshift auf andere Weise umgesetzt wurden.
+  [CREATE TABLE](r_CREATE_TABLE_NEW.md) 

  In Amazon Redshift werden Tablespaces, die Tabellenpartitionierung und Vererbung sowie bestimmte Einschränkungen nicht unterstützt. Mit der Amazon-Redshift-Implementierung von CREATE TABLE können Sie die Algorithmen für die Sortierung und Verteilung so definieren, dass die parallele Verarbeitung optimiert wird.

  Amazon Redshift Spectrum unterstützt die Tabellenpartitionierung durch den Befehl [CREATE EXTERNAL TABLE](r_CREATE_EXTERNAL_TABLE.md).
+  [ALTER TABLE](r_ALTER_TABLE.md) 

  Nur ein Teilbereich der ALTER COLUMN-Aktionen wird unterstützt.

  Mit ADD COLUMN können Sie in jeder ALTER TABLE-Anweisung nur eine Spalte hinzufügen.
+  [COPY](r_COPY.md) 

  Der Amazon-Redshift-Befehl COPY wurde stark angepasst, um das Laden von Daten aus Amazon-S3-Buckets und Amazon-DynamoDB-Tabellen zu ermöglichen und die automatische Komprimierung zu erleichtern. Weitere Informationen finden Sie im Abschnitt [Laden von Daten in Amazon Redshift](t_Loading_data.md) und in der COPY-Befehlsreferenz.
+  [VACUUM](r_VACUUM_command.md) 

  Alle Parameter für VACUUM sind anders umgesetzt. Die VACUUM-Standardoperation in PostgreSQL gewinnt z. B. einfach nur Festplattenplatz zurück und stellt ihn zur Wiederverwendung bereit. Die VACUUM-Standardoperation in Amazon Redshift ist jedoch VACUUM FULL; diese gewinnt Festplattenplatz zurück und sortiert alle Zeilen neu.
+ Leerzeichen am Ende von VARCHAR-Werten werden beim Vergleich von Zeichenfolgen ignoriert. Weitere Informationen finden Sie unter [Die Bedeutung von Leerzeichen am Ende](r_Character_types.md#r_Character_types-significance-of-trailing-blanks).

# Nicht unterstützte PostgreSQL-Funktionen
<a name="c_unsupported-postgresql-features"></a>

Diese PostgreSQL-Funktionen werden in Amazon Redshift nicht unterstützt.

**Wichtig**  
Beachten Sie, dass die Semantik von Elementen, die sowohl in Amazon Redshift als auch in PostgreSQL vorkommen, nicht zwingend identisch ist. Es wird dringend empfohlen, die entsprechenden Stellen im *Amazon-Redshift-Entwicklerhandbuch* [SQL-Befehle](c_SQL_commands.md) nachzuschlagen, um die oft sehr subtilen Unterschiede zu verstehen.
+ Das Abfragetool *psql* wird nicht unterstützt. Der [Amazon-Redshift-RSQL](https://docs.aws.amazon.com/redshift/latest/mgmt/rsql-query-tool.html)-Client wird unterstützt.
+ Tabellenpartitionierung (Partitionierung nach Intervall und Liste)
+ Tablespaces
+ Einschränkungen
  + Eindeutig
  + Fremdschlüssel
  + Primärschlüssel
  + Einschränkungen prüfen
  + Ausschluss-Einschränkungen

  Einschränkungen für eindeutige, Primär- und Fremdschlüssel sind zulässig, aber sie dienen lediglich Informationszwecken. Sie werden nicht vom System erzwungen, aber sie werden vom Abfrageplaner verwendet.
+ Vererbung
+ PostgreSQL-Systemspalten

  In Amazon-Redshift-SQL werden Systemspalten nicht implizit definiert. Die Namen von PostgreSQL-Systemspalten können jedoch nicht als Namen für benutzerdefinierte Spalten verwendet werden: `oid`, `tableoid`, `xmin`, `cmin`, `xmax`, `cmax` und `ctid`. Weitere Informationen finden Sie unter [https://www.postgresql.org/docs/8.0/static/ddl-system-columns.html](https://www.postgresql.org/docs/8.0/static/ddl-system-columns.html).
+ Indizes
+ NULLS-Klausel in Fensterfunktionen
+ Sortierreihenfolgen

  Amazon Redshift unterstützt keine Gebietsschema-spezifischen oder benutzerdefinierten Sortierreihenfolgen. Siehe [Sortierreihenfolgen](c_collation_sequences.md).
+ Wertausdrücke
  + Indizierte Ausdrücke
  + Array-Konstruktoren
  + Zeilen-Konstruktoren
+ Auslöser
+ Verwaltung externer Daten (SQL/MED)
+ Tabellenfunktionen
+ Als Konstanten-Tabellen verwendete VALUES-Liste
+ Sequenzen
+ Volltextsuche
+ Die Berechtigungen RULE und TRIGGER.

  Amazon Redshift gewährt oder widerruft diese Berechtigungen, wenn Sie GRANT ALL oder REVOKE ALL ausführen, doch das Vorhandensein oder Fehlen der Berechtigungen RULE und TRIGGER hat keinerlei Auswirkungen auf die Zugriffsberechtigungen des Empfängers.

# Nicht unterstützte PostgreSQL-Datentypen
<a name="c_unsupported-postgresql-datatypes"></a>

Wenn eine Abfrage versucht, einen nicht unterstützten Datentyp zu verwenden, einschließlich expliziter oder impliziter Umwandlungen, gibt sie einen Fehler aus. Manchen Abfragen, die nicht unterstützte Datentypen verwenden, werden jedoch auf dem Führungsknoten und nicht auf den Datenverarbeitungsknoten ausgeführt. Siehe [SQL-Funktionen, die auf dem Führungsknoten unterstützt werden](c_sql-functions-leader-node.md).

 Eine Liste der unterstützten Datentypen finden Sie unter [Datentypen](c_Supported_data_types.md).

Diese PostgreSQL-Datentypen werden in Amazon Redshift nicht unterstützt.
+ Arrays
+ BIT, BIT VARYING
+ BYTEA
+ Zusammengesetzte Typen
+ Typen mit Aufzählungswerten
+ Geometrische Typen (Die Amazon-Redshift-Implementierung von geometrischen Typen unterscheidet sich von PostgreSQL)
+ HSTORE
+ JSON
+ Netzwerkadressen
+ Numerische Typen
  + SERIAL, BIGSERIAL, SMALLSERIAL
  + MONEY
+ Objekt-IDs
+ Pseudo-Typen
+ Intervall-Typen
+ Sonderzeichen-Typen
  + „char“ – Ein interner Typ mit einem Byte (wobei der Datentyp namens „char“ in Anführungszeichen gesetzt ist).
  + name – Ein interner Typ für Objektnamen.

  Weitere Informationen zu diesen Typen finden Sie unter [Sonderzeichen-Typen](https://www.postgresql.org/docs/8.0/datatype-character.html) in der PostgreSQL-Dokumentation. 
+ Textsuche-Typen
+ TXID\$1SNAPSHOT
+ UUID
+ XML

# Nicht unterstützte PostgreSQL-Funktionen
<a name="c_unsupported-postgresql-functions"></a>

Viel Funktionen, die nicht weggelassen wurden, haben eine andere Semantik oder werden anders verwendet. Manche der unterstützten Funktionen werden z. B. ausschließlich auf dem Führungsknoten ausgeführt. Außerdem geben manche der nicht unterstützten Funktionen keinen Fehler zurück, wenn sie auf dem Führungsknoten ausgeführt werden. Die Tatsache, dass diese Funktionen in manchen Fällen keinen Fehler zurückgeben, sollte nicht als Anzeichen dafür gewertet werden, dass die Funktion von Amazon Redshift unterstützt wird. 

**Wichtig**  
Beachten Sie, dass die Semantik von Elementen, die sowohl in Amazon Redshift als auch in PostgreSQL vorkommen, nicht zwingend identisch ist. Es wird dringend empfohlen, die entsprechenden Stellen im *Datenbankentwicklerhandbuch zu Amazon Redshift* [SQL-Befehle](c_SQL_commands.md) nachzuschlagen, um die oft sehr subtilen Unterschiede zu verstehen.

 Weitere Informationen finden Sie unter [SQL-Funktionen, die auf dem Führungsknoten unterstützt werden](c_sql-functions-leader-node.md).

Diese PostgreSQL-Funktionen werden in Amazon Redshift nicht unterstützt.
+ Abfragefunktionen für Zugriffsberechtigungen
+ Funktionen für empfohlene Sperren
+ Aggregationsfunktionen
  + STRING\$1AGG()
  + ARRAY\$1AGG()
  + EVERY()
  + XML\$1AGG()
  + CORR()
  + COVAR\$1POP()
  + COVAR\$1SAMP()
  + REGR\$1AVGX(), REGR\$1AVGY()
  + REGR\$1COUNT()
  + REGR\$1INTERCEPT()
  + REGR\$1R2()
  + REGR\$1SLOPE()
  + REGR\$1SXX(), REGR\$1SXY(), REGR\$1SYY()
+ Array-Funktionen und -Operatoren
+ Funktionen für die Sicherungssteuerung
+ Funktionen für Kommentarinformationen
+ Speicherortfunktionen für Datenbankobjekte
+ Größenfunktionen für Datenbankobjekte
+ Datums- und Zeitfunktionen sowie -operatoren
  + CLOCK\$1TIMESTAMP()
  + JUSTIFY\$1DAYS(), JUSTIFY\$1HOURS(), JUSTIFY\$1INTERVAL()
  + PG\$1SLEEP()
  + TRANSACTION\$1TIMESTAMP()
+ Funktionen für die ENUM-Unterstützung
+ Geometrische Funktionen und Operatoren
+ Funktionen für den allgemeinen Dateizugriff
+ IS DISTINCT FROM
+ Funktionen und Operatoren für Netzwerkadressen
+ Mathematische Funktionen
  + DIV()
  + SETSEED()
  + WIDTH\$1BUCKET()
+ Datensatz-Rückgabefunktionen
  + GENERATE\$1SERIES()
  + GENERATE\$1SUBSCRIPTS()
+ Intervallfunktionen und -operatoren
+ Funktionen für die Wiederherstellungssteuerung
+ Funktionen für Wiederherstellungsinformationen
+ ROLLBACK TO SAVEPOINT-Funktion
+ Abfragefunktionen für die Schema-Sichtbarkeit
+ Server-Benachrichtigungsfunktionen
+ Snapshot-Synchronisierungsfunktionen
+ Sequenz-Bearbeitungsfunktionen
+ Zeichenfolgefunktionen
  + BIT\$1LENGTH()
  + OVERLAY()
  + CONVERT(), CONVERT\$1FROM(), CONVERT\$1TO()
  + ENCODE()
  + FORMAT()
  + QUOTE\$1NULLABLE()
  + REGEXP\$1MATCHES()
  + REGEXP\$1SPLIT\$1TO\$1ARRAY()
  + REGEXP\$1SPLIT\$1TO\$1TABLE()
+ Funktionen für Systemkataloginformationen
+ Funktionen für Systeminformationen
  + CURRENT\$1CATALOG CURRENT\$1QUERY()
  + INET\$1CLIENT\$1ADDR()
  + INET\$1CLIENT\$1PORT()
  + INET\$1SERVER\$1ADDR() INET\$1SERVER\$1PORT()
  + PG\$1CONF\$1LOAD\$1TIME()
  + PG\$1IS\$1OTHER\$1TEMP\$1SCHEMA()
  + PG\$1LISTENING\$1CHANNELS()
  + PG\$1MY\$1TEMP\$1SCHEMA()
  + PG\$1POSTMASTER\$1START\$1TIME()
  + PG\$1TRIGGER\$1DEPTH()
  + SHOW VERSION()
+ Funktionen und Operatoren für die Textsuche
+  IDs Transaktions- und Snapshot-Funktionen
+ Trigger-Funktionen
+ XML-Funktionen