Erhalte Tabellenschema in Redshift

7

Hallo Ich versuche, das Schema einer vorhandenen Tabelle abzurufen. Ich bin Mysql Entwickler und versuche mit Amazon Redshift zu arbeiten. Wie kann ich das Schema einer vorhandenen Tabelle exportieren? In mysql können wir den Befehl show create table verwenden.

%Vor%     
user3277217 30.04.2014, 03:44
quelle

7 Antworten

5

Wenn Sie die Tabellenstruktur mit create-Anweisung, Constraints und Triggern abrufen möchten, können Sie das Dienstprogramm pg_dump

verwenden %Vor%

Dies gibt die Erstellungssyntax mit allen Einschränkungen aus. Hoffe, das wird dir helfen.

    
Anant 30.04.2014, 04:11
quelle
9

Diese Abfrage gibt Ihnen die vollständige Schemadefinition mit den Redshift-spezifischen Attributen Verteilungstyp / Schlüssel, Sortierschlüssel, Primärschlüssel und Spaltencodierung in Form einer create-Anweisung sowie eine alter table-Anweisung, die den Eigentümer festlegt an den derzeitigen Besitzer. Das einzige, was es dir nicht sagen kann, sind Fremdschlüssel. Ich arbeite an letzterem, aber in RS gibt es ein aktuelles Privilegierungsproblem, das uns daran hindert, die richtigen Tabellen abzufragen. Diese Abfrage könnte etwas tuning, aber ich hatte keine Zeit oder die Notwendigkeit, es weiter zu arbeiten.

%Vor%     
mike_pdb 07.07.2014 08:25
quelle
5

Kürzlich habe ich ein Python-Skript geschrieben, um Tabellenschemas zwischen Rotverschiebungsclustern zu klonen. Wenn Sie nur die Spalten und Spaltentypen einer Tabelle haben möchten, können Sie dies über:

tun %Vor%

Aber wenn Sie die Komprimierungstypen und distkey / sortkeys benötigen, müssen Sie eine andere Tabelle abfragen:

%Vor%     
ciphor 19.05.2014 03:30
quelle
2

Ich habe keine vollständigen Lösungen gefunden. Und schrieb ein Python-Skript:

Ссылка

Es funktioniert wie pg_dump und behandelt grundlegende Rotverschiebungsfunktionen, SORTKY / DISTKEY / DISTSTYLES etc.

    
cxmcc 09.04.2015 23:25
quelle
1

In Postgres würden Sie den Katalog abfragen.

Von mit psql verwende die Abkürzungen für eine Vielzahl von Befehlen, deren Liste du mit \? (für Hilfe) bekommst. Daher entweder:

%Vor%

Für die Verwendung in einer App müssen Sie die relevanten Suchanfragen kennen. Es ist relativ einfach, indem Sie psql -E (für versteckte Echobotschaften) anstelle von psql ausführen.

Wenn Sie die genaue Anweisung create table benötigen, lesen Sie die Antwort @Anant.

    
Denis de Bernardy 30.04.2014 06:11
quelle
0

Müssen Sie es programmatisch oder von der psql-Eingabeaufforderung abrufen?

Verwenden Sie in psql: \ d + Tabellenname

Programmatisch können Sie die hier dokumentierten ANSI-Standard-INFORMATION_SCHEMA-Ansichten abfragen:

%Vor%

Die Ansichten INFORMATION_SCHEMA.TABLES und INFORMATION_SCHEMA.COLUMNS sollten genau das haben, was Sie brauchen.

    
codenheim 30.04.2014 03:53
quelle
0

Der folgende Befehl funktioniert:

%Vor%     
user2086435 28.10.2015 06:03
quelle