anstatt eine Tabelle fallen zu lassen und es als diststyle
alles neu zu erstellen, würde ich die Tabelle diststyle
ändern möchten, ist das möglich?Ändern Sie diststyle in einer vorhandenen Tabelle in Rotverschiebung. ist es möglich?
Danke!
anstatt eine Tabelle fallen zu lassen und es als diststyle
alles neu zu erstellen, würde ich die Tabelle diststyle
ändern möchten, ist das möglich?Ändern Sie diststyle in einer vorhandenen Tabelle in Rotverschiebung. ist es möglich?
Danke!
Scheint nicht möglich zu sein. Einfacher erstellen Sie die Tabelle aus dem alten Population.
Der einfachste Weg, die ich gefunden habe ist folgendes zu verwenden:
BEGIN;
CREATE TABLE mytable_tmp
DISTSTYLE ALL -- You can also use DISTKEY(some_column) or DISTSTYLE EVEN
AS SELECT * FROM mytable;
DROP TABLE mytable;
ALTER TABLE mytable_tmp RENAME TO mytable;
COMMIT;
Auf diese Weise können Sie die distkey oder diststyle einer Tabelle sind, ohne zu wissen, welche Spalten in der Tabelle leicht ändern zu. Sie müssen nur den Namen der Tabelle kennen.
Von docs "CREATE TABLE AS (CTAS) -Tabellen erben keine Komprimierungscodierungen, Einschränkungen, Identitätsspalten, Standardspaltenwerte oder den Primärschlüssel aus der Tabelle, aus der sie erstellt wurden." Die obige Abfrage kopiert die Komprimierungstechniken alter Tabellen nicht. Schauen Sie sich http://docs.aws.amazon.com/redshift/latest/dg/r_CTAS_usage_notes.html an – imVJ
Danke, dachte ich habe etwas gefehlt. Es wäre einfacher gewesen, 'alter table XXX alterstyle an alle zu betreiben;', aber das ist meine Meinung. – dudu1982
Das ist nett, wenn Sie keine anderen Attribute für eine Tabelle oder eine Komprimierung haben. Alle mir Felder sind komprimiert, so dass es nicht geht. – dudu1982