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%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%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%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:
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.
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.
Tags und Links database postgresql amazon-redshift