SnowConvert AI – PostgreSQL – CREATE TABLE¶
Translation from PostgreSQL to Snowflake
Gilt für:¶
PostgreSQL
Greenplum
Netezza
Beschreibung¶
Erstellt eine neue Tabelle in PostgreSQL. Sie definieren eine Liste von Spalten, von denen jede Daten eines bestimmten Typs enthält. Die Person mit Eigentumsrechten an der Tabelle ist die Person, die den CREATE TABLE-Befehl absetzt.
Weitere Informationen dazu finden Sie in der Dokumentation zu CREATE TABLE.
Grammatikalische Syntax¶
Optionen für Tabellen¶
TEMPORARY | TEMP oder IF NOT EXISTS¶
Hinweis
Diese Syntax wird in Snowflake vollständig unterstützt.
GLOBAL | LOCAL¶
Bemerkung
Diese Syntax wird in Snowflake nicht benötigt.
Laut der PostgreSQL-Dokumentation sind GLOBAL | LOCAL für die Kompatibilität mit dem SQL-Standard vorhanden, haben jedoch keine Auswirkungen in PostgreSQL und sind veraltet. Aus diesem Grund entfernt SnowConvert AI diese Schlüsselwörter während des Migrationsprozesses.
Beispielquelle¶
Eingabecode:
PostgreSQL¶
Ausgabecode:
Snowflake¶
UNLOGGED-TABLE¶
Bemerkung
Diese Syntax wird in Snowflake nicht benötigt.
UNLOGGED-Tabellen bieten einen erheblichen Geschwindigkeitsvorteil, da sie nicht in das Write-Ahead-Protokoll geschrieben werden. Snowflake unterstützt diese Funktionalität nicht, daher wird die UNLOGGED-Klausel auskommentiert.
Codebeispiel¶
Eingabecode:¶
Greenplum¶
Ausgabecode:¶
Snowflake¶
Spaltenattribute¶
CHECK-Attribut¶
Gefahr
Diese Syntax wird in Snowflake nicht unterstützt.
Die CHECK-Klausel gibt einen Ausdruck an, der ein boolesches Ergebnis erzeugt, das neue oder aktualisierte Zeilen erfüllen müssen, damit eine Einfüge- oder Aktualisierungsoperation erfolgreich ist. Snowflake hat keine Äquivalenz mit dieser Klausel; SnowConvert AI fügt daher einen EWI hinzu. Dies wird als Einschränkung für CHECK-Attribute oder Tabellen angewendet.
Grammatikalische Syntax
Beispielquelle¶
Eingabecode:
PostgreSQL¶
Ausgabecode:
Snowflake¶
GENERATED BY DEFAULT AS IDENTITY¶
Hinweis
Diese Syntax wird in Snowflake vollständig unterstützt.
Gibt an, dass die Spalte eine IDENTITY-Standardspalte ist und ermöglicht es Ihnen, der Spalte automatisch einen eindeutigen Wert zuzuweisen.
Grammatikalische Syntax
Beispielquelle¶
Eingabecode:
PostgreSQL¶
Ausgabecode:
Snowflake¶
Tabelleneinschränkungen¶
Primary Key, Foreign Key und Unique¶
Warnung
Diese Syntax wird in Snowflake teilweise unterstützt.
SnowConvert AI behält die Einschränkungsdefinitionen bei; In Snowflake werden jedoch eindeutige Schlüssel, Primärschlüssel und Fremdschlüssel für die Dokumentation verwendet und erzwingen keine Einschränkungen oder Eindeutigkeit. Sie helfen bei der Beschreibung der Beziehungen zwischen den Tabellen, haben aber keinen Einfluss auf die Datenintegrität oder -leistung.
Attribute der Tabelle¶
LIKE-Option¶
Warnung
Diese Syntax wird in Snowflake teilweise unterstützt.
Die LIKE-Klausel gibt eine Tabelle an, aus der die neue Tabelle automatisch alle Spaltennamen, deren Datentypen und Nicht-Null-Einschränkungen kopiert. PostgreSQL unterstützt mehrere Optionen, während Snowflake dies nicht tut, sodass SnowConvert AI die Optionen entfernt.
Grammatikalische Syntax¶
Beispielhafte Quellcode-Muster¶
Eingabecode:
PostgreSQL¶
Ausgabecode:
Snowflake¶
ON COMMIT¶
Warnung
Diese Syntax wird teilweise unterstützt.
Gibt das Verhalten der temporären Tabelle an, wenn ein Commit ausgeführt wird.
Grammatikalische Syntax¶
Beispielhafte Quellcode-Muster¶
Eingabecode:¶
PostgreSQL¶
Ausgabecode:¶
Snowflake¶
PARTITION BY, USING, TABLESPACE und WITH¶
Bemerkung
Diese Syntax wird in Snowflake nicht benötigt.
Diese Klauseln in Snowflake sind unnötig, da sie den Datenspeicher automatisch verwalten, im Gegensatz zu PostgreSQL, wo die Einrichtung manuell erfolgen kann. Aus diesem Grund werden diese Klauseln bei der Migration entfernt.